def __init__( self, app, parent, title, file_left, header_left, file_right, header_right, ):
super().__init__( app, app.debug_options.debugLogDiff, parent=parent )
wb_tracked_qwidget.WbTrackedModeless.__init__( self )
prefs = self.app.prefs.diff_window
geometry = prefs.geometry
self.setWindowTitle( title )
icon = app.getAppQIcon()
if icon is not None:
self.setWindowIcon( icon )
if geometry is not None:
geometry = QtCore.QByteArray( geometry.encode('utf-8') )
self.restoreGeometry( QtCore.QByteArray.fromHex( geometry ) )
else:
em = self.app.fontMetrics().width( 'm' )
ex = self.app.fontMetrics().lineSpacing()
self.resize( 130*em, 45*ex )
self.setupToolBar()
self.setupStatusBar( self.statusBar() )
self.splitter = QtWidgets.QSplitter()
self.splitter.setOrientation( QtCore.Qt.Horizontal )
self.sash_ratio = 0.5
self.panel_left = DiffWidget( app, self.splitter, header_left, name='left' )
self.panel_right = DiffWidget( app, self.splitter, header_right, name='right' )
self.panel_left.ed.setMirrorEditor( self.panel_right.ed )
self.panel_right.ed.setMirrorEditor( self.panel_left.ed )
self.panel_left.ed.setProcessKeyHandler( self.processKeyHandler )
self.panel_right.ed.setProcessKeyHandler( self.processKeyHandler )
self.splitter.addWidget( self.panel_left )
self.splitter.addWidget( self.panel_right )
# Create the editor and calculate all the differences
self.processor = wb_diff_processor.DiffProcessor( self.panel_left.ed, self.panel_right.ed )
self.diff = wb_diff_difflib.Difference( self.processor )
self.files_ok = self.diff.filecompare( file_left, file_right )
if not self.files_ok:
return
self.setChangeCounts( 0, self.processor.getChangeCount() )
self.setCentralWidget( self.splitter )
# start with folds collapsed
self.actionFoldsCollapse()
# show first diff
self.actionDiffNext()
wb_diff_side_by_side_view.py 文件源码
python
阅读 45
收藏 0
点赞 0
评论 0
评论列表
文章目录