Skip to content

Commit 16d5be1

Browse files
committed
canvasmain: Remove optional scheme margins
Does not conform to standard guidelines, wastes space and the implementation is ugly.
1 parent fb8501a commit 16d5be1

File tree

2 files changed

+2
-108
lines changed

2 files changed

+2
-108
lines changed

orangecanvas/application/canvasmain.py

Lines changed: 2 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
QWhatsThisClickedEvent, QShowEvent, QCloseEvent
2929
)
3030
from AnyQt.QtCore import (
31-
Qt, QObject, QEvent, QSize, QUrl, QByteArray, QFileInfo,
31+
Signal, Qt, QObject, QEvent, QSize, QUrl, QByteArray, QFileInfo,
3232
QSettings, QStandardPaths, QAbstractItemModel, QMimeData, QT_VERSION)
3333

3434
try:
@@ -41,11 +41,6 @@
4141
except ImportError:
4242
QWebView = None # type: ignore
4343

44-
45-
from AnyQt.QtCore import (
46-
pyqtProperty as Property, pyqtSignal as Signal
47-
)
48-
4944
from ..scheme import Scheme, IncompatibleChannelTypeError, SchemeNode
5045
from ..scheme import readwrite
5146
from ..scheme.readwrite import UnknownWidgetDefinition
@@ -98,25 +93,6 @@ def user_documents_path():
9893
return QStandardPaths.writableLocation(QStandardPaths.DocumentsLocation)
9994

10095

101-
class FakeToolBar(QToolBar):
102-
"""A Toolbar with no contents (used to reserve top and bottom margins
103-
on the main window).
104-
105-
"""
106-
def __init__(self, *args, **kwargs):
107-
super().__init__(*args, **kwargs)
108-
self.setFloatable(False)
109-
self.setMovable(False)
110-
111-
# Don't show the tool bar action in the main window's
112-
# context menu.
113-
self.toggleViewAction().setVisible(False)
114-
115-
def paintEvent(self, event):
116-
# Do nothing.
117-
pass
118-
119-
12096
class DockWidget(QDockWidget):
12197
def __init__(self, *args, **kwargs):
12298
super().__init__(*args, **kwargs)
@@ -134,8 +110,6 @@ class CanvasMainWindow(QMainWindow):
134110

135111
def __init__(self, *args, **kwargs):
136112
super().__init__(*args, **kwargs)
137-
138-
self.__scheme_margins_enabled = True
139113
self.__document_title = "untitled"
140114
self.__first_show = True
141115
self.__is_transient = True
@@ -180,28 +154,10 @@ def __init__(self, *args, **kwargs):
180154
def setup_ui(self):
181155
"""Setup main canvas ui
182156
"""
183-
# Two dummy tool bars to reserve space
184-
self.__dummy_top_toolbar = FakeToolBar(
185-
objectName="__dummy_top_toolbar")
186-
self.__dummy_bottom_toolbar = FakeToolBar(
187-
objectName="__dummy_bottom_toolbar")
188-
189-
self.__dummy_top_toolbar.setFixedHeight(20)
190-
self.__dummy_bottom_toolbar.setFixedHeight(20)
191-
192-
self.addToolBar(Qt.TopToolBarArea, self.__dummy_top_toolbar)
193-
self.addToolBar(Qt.BottomToolBarArea, self.__dummy_bottom_toolbar)
194-
195157
self.setCorner(Qt.BottomLeftCorner, Qt.LeftDockWidgetArea)
196158
self.setCorner(Qt.BottomRightCorner, Qt.RightDockWidgetArea)
197159

198160
self.setDockOptions(QMainWindow.AnimatedDocks)
199-
# Create an empty initial scheme inside a container with fixed
200-
# margins.
201-
w = QWidget()
202-
w.setLayout(QVBoxLayout())
203-
w.layout().setContentsMargins(20, 0, 10, 0)
204-
205161
self.scheme_widget = SchemeEditWidget()
206162
self.scheme_widget.setDropHandlers([interactions.PluginDropHandler(),])
207163
self.set_scheme(config.workflow_constructor(parent=self))
@@ -214,9 +170,7 @@ def setup_ui(self):
214170
self.scheme_widget.setAcceptDrops(True)
215171
self.scheme_widget.view().viewport().installEventFilter(dropfilter)
216172

217-
w.layout().addWidget(self.scheme_widget)
218-
219-
self.setCentralWidget(w)
173+
self.setCentralWidget(self.scheme_widget)
220174

221175
# Drop shadow around the scheme document
222176
frame = DropShadowFrame(radius=15)
@@ -341,9 +295,6 @@ def setup_ui(self):
341295
self.dock_widget.expandedChanged.connect(self._on_tool_dock_expanded)
342296

343297
self.addDockWidget(Qt.LeftDockWidgetArea, self.dock_widget)
344-
self.dock_widget.dockLocationChanged.connect(
345-
self._on_dock_location_changed
346-
)
347298

348299
self.output_dock = DockWidget(
349300
self.tr("Log"), self, objectName="output-dock",
@@ -599,15 +550,6 @@ def config_url_action(action, role):
599550
# TODO: This is bad (should be moved here).
600551
self.dock_help_action = None
601552

602-
self.toogle_margins_action = QAction(
603-
self.tr("Show Workflow Margins"), self,
604-
checkable=True,
605-
toolTip=self.tr("Show margins around the workflow view."),
606-
)
607-
self.toogle_margins_action.setChecked(True)
608-
self.toogle_margins_action.toggled.connect(
609-
self.set_scheme_margins_enabled)
610-
611553
self.float_widgets_on_top_action = QAction(
612554
self.tr("Display Widgets on Top"), self,
613555
checkable=True,
@@ -720,7 +662,6 @@ def setup_menu(self):
720662
sep = self.view_menu.addSeparator()
721663
sep.setObjectName("view-zoom-actions-separator")
722664

723-
self.view_menu.addAction(self.toogle_margins_action)
724665
menu_bar.addMenu(self.view_menu)
725666

726667
# Options menu
@@ -787,9 +728,6 @@ def restore(self):
787728
settings.value("toolbox-dock-exclusive", False, type=bool)
788729
)
789730

790-
self.toogle_margins_action.setChecked(
791-
settings.value("scheme-margins-enabled", False, type=bool)
792-
)
793731
self.show_output_action.setChecked(
794732
settings.value("output-dock/is-visible", False, type=bool))
795733

@@ -961,39 +899,6 @@ def on_quick_category_action(self, action):
961899

962900
self.dock_widget.expand()
963901

964-
def set_scheme_margins_enabled(self, enabled):
965-
# type: (bool) -> None
966-
"""Enable/disable the margins around the scheme document.
967-
"""
968-
if self.__scheme_margins_enabled != enabled:
969-
self.__scheme_margins_enabled = enabled
970-
self.__update_scheme_margins()
971-
972-
def _scheme_margins_enabled(self):
973-
# type: () -> bool
974-
return self.__scheme_margins_enabled
975-
976-
scheme_margins_enabled: bool
977-
scheme_margins_enabled = Property( # type: ignore
978-
bool, _scheme_margins_enabled, set_scheme_margins_enabled)
979-
980-
def __update_scheme_margins(self):
981-
"""Update the margins around the scheme document.
982-
"""
983-
enabled = self.__scheme_margins_enabled
984-
self.__dummy_top_toolbar.setVisible(enabled)
985-
self.__dummy_bottom_toolbar.setVisible(enabled)
986-
central = self.centralWidget()
987-
988-
margin = 20 if enabled else 0
989-
990-
if self.dockWidgetArea(self.dock_widget) == Qt.LeftDockWidgetArea:
991-
margins = (margin // 2, 0, margin, 0)
992-
else:
993-
margins = (margin, 0, margin // 2, 0)
994-
995-
central.layout().setContentsMargins(*margins)
996-
997902
def is_transient(self):
998903
# type: () -> bool
999904
"""
@@ -2292,13 +2197,6 @@ def _on_recent_scheme_action(self, action):
22922197
filename = str(action.data())
22932198
self.open_scheme_file(filename)
22942199

2295-
def _on_dock_location_changed(self, location):
2296-
# type: (Qt.DockWidgetArea) -> None
2297-
"""Location of the dock_widget has changed, fix the margins
2298-
if necessary.
2299-
"""
2300-
self.__update_scheme_margins()
2301-
23022200
def set_tool_dock_expanded(self, expanded):
23032201
# type: (bool) -> None
23042202
"""
@@ -2358,9 +2256,6 @@ def closeEvent(self, event):
23582256
settings.setValue("state", state)
23592257
settings.setValue("canvasdock/expanded",
23602258
self.dock_widget.expanded())
2361-
settings.setValue("scheme-margins-enabled",
2362-
self.scheme_margins_enabled)
2363-
23642259
settings.setValue("widgettoolbox/state",
23652260
self.widgets_tool_box.saveState())
23662261

orangecanvas/application/tests/test_mainwindow.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ def test_create_new_window(self):
6060
w.show()
6161
new.show()
6262

63-
w.set_scheme_margins_enabled(True)
6463
new.deleteLater()
6564
stream = TextStream()
6665
w.connect_output_stream(stream)

0 commit comments

Comments
 (0)