- work on a FlatCAM compact theme

This commit is contained in:
Marius Stanciu
2019-02-01 04:12:03 +02:00
committed by Marius S
parent 5ab89791c7
commit 080d148b37
2 changed files with 102 additions and 24 deletions

View File

@@ -313,6 +313,7 @@ class App(QtCore.QObject):
# "global_pan_with_space_key": self.general_defaults_form.general_gui_group.pan_with_space_cb,
"global_workspace": self.general_defaults_form.general_gui_group.workspace_cb,
"global_workspaceT": self.general_defaults_form.general_gui_group.wk_cb,
"global_theme": self.general_defaults_form.general_gui_group.theme_combo,
"gerber_plot": self.gerber_defaults_form.gerber_gen_group.plot_cb,
"gerber_solid": self.gerber_defaults_form.gerber_gen_group.solid_cb,
@@ -468,6 +469,7 @@ class App(QtCore.QObject):
"global_def_win_y": 100,
"global_def_win_w": 1024,
"global_def_win_h": 650,
"global_theme": 'standard',
# Constants...
"global_defaults_save_period_ms": 20000, # Time between default saves.
@@ -623,6 +625,7 @@ class App(QtCore.QObject):
"units": self.general_options_form.general_app_group.units_radio,
"global_gridx": self.general_options_form.general_gui_group.gridx_entry,
"global_gridy": self.general_options_form.general_gui_group.gridy_entry,
"global_theme": self.general_options_form.general_gui_group.theme_combo,
"gerber_plot": self.gerber_options_form.gerber_gen_group.plot_cb,
"gerber_solid": self.gerber_options_form.gerber_gen_group.solid_cb,
@@ -730,6 +733,7 @@ class App(QtCore.QObject):
"global_verbose_error_level": 0, # Shell verbosity:
# 0 = default(python trace only for unknown errors),
# 1 = show trace(show trace allways), 2 = (For the future).
"global_theme": 'standard',
"gerber_plot": True,
"gerber_solid": True,
@@ -1152,6 +1156,7 @@ class App(QtCore.QObject):
self.general_defaults_form.general_gui_group.wk_cb.currentIndexChanged.connect(self.on_workspace_modified)
self.general_defaults_form.general_gui_group.workspace_cb.stateChanged.connect(self.on_workspace)
self.general_defaults_form.general_gui_group.theme_combo.currentIndexChanged.connect(self.on_theme)
# Modify G-CODE Plot Area TAB
self.ui.code_editor.textChanged.connect(self.handleTextChanged)
@@ -3104,6 +3109,9 @@ class App(QtCore.QObject):
self.general_defaults_form.general_gui_group.workspace_cb.setChecked(True)
self.on_workspace()
def on_theme(self):
self.defaults["global_theme"] = self.general_defaults_form.general_gui_group.theme_combo.get_value()
def on_save_button(self):
self.save_defaults(silent=False)
# load the defaults so they are updated into the app

View File

@@ -365,6 +365,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.exc_editor_menu.menuAction().setVisible(False)
self.exc_editor_menu.setDisabled(True)
################################
### Project Tab Context menu ###
################################
@@ -384,10 +385,77 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
###############
### Toolbar ###
###############
### TOOLBAR INSTALLATION ###
self.toolbarfile = QtWidgets.QToolBar('File Toolbar')
self.toolbarfile.setObjectName('File_TB')
self.addToolBar(self.toolbarfile)
self.toolbargeo = QtWidgets.QToolBar('Edit Toolbar')
self.toolbargeo.setObjectName('Edit_TB')
self.addToolBar(self.toolbargeo)
self.toolbarview = QtWidgets.QToolBar('View Toolbar')
self.toolbarview.setObjectName('View_TB')
self.addToolBar(self.toolbarview)
self.toolbartools = QtWidgets.QToolBar('Tools Toolbar')
self.toolbartools.setObjectName('Tools_TB')
self.addToolBar(self.toolbartools)
self.exc_edit_toolbar = QtWidgets.QToolBar('Excellon Editor Toolbar')
self.exc_edit_toolbar.setObjectName('ExcEditor_TB')
self.addToolBar(self.exc_edit_toolbar)
self.geo_edit_toolbar = QtWidgets.QToolBar('Geometry Editor Toolbar')
self.geo_edit_toolbar.setVisible(False)
self.geo_edit_toolbar.setObjectName('GeoEditor_TB')
self.addToolBar(self.geo_edit_toolbar)
self.snap_toolbar = QtWidgets.QToolBar('Grid Toolbar')
self.snap_toolbar.setObjectName('Snap_TB')
self.addToolBar(self.snap_toolbar)
# if self.app.gui_defaults['global_theme'] == 'standard':
# self.toolbarfile = QtWidgets.QToolBar('File Toolbar')
# self.toolbarfile.setObjectName('File_TB')
# self.addToolBar(self.toolbarfile)
# self.toolbargeo = QtWidgets.QToolBar('Edit Toolbar')
# self.toolbargeo.setObjectName('Edit_TB')
# self.addToolBar(self.toolbargeo)
# self.toolbarview = QtWidgets.QToolBar('View Toolbar')
# self.toolbarview.setObjectName('View_TB')
# self.addToolBar(self.toolbarview)
# self.toolbartools = QtWidgets.QToolBar('Tools Toolbar')
# self.toolbartools.setObjectName('Tools_TB')
# self.addToolBar(self.toolbartools)
# self.exc_edit_toolbar = QtWidgets.QToolBar('Excellon Editor Toolbar')
# self.exc_edit_toolbar.setObjectName('ExcEditor_TB')
# self.addToolBar(self.exc_edit_toolbar)
# self.geo_edit_toolbar = QtWidgets.QToolBar('Geometry Editor Toolbar')
# self.geo_edit_toolbar.setVisible(False)
# self.geo_edit_toolbar.setObjectName('GeoEditor_TB')
# self.addToolBar(self.geo_edit_toolbar)
# self.snap_toolbar = QtWidgets.QToolBar('Grid Toolbar')
# self.snap_toolbar.setObjectName('Snap_TB')
# elif self.app.defaults['global_theme'] == 'compact':
# self.toolbarfile = QtWidgets.QToolBar('File Toolbar')
# self.toolbarfile.setObjectName('File_TB')
# self.addToolBar(self.toolbarfile)
# self.toolbargeo = QtWidgets.QToolBar('Edit Toolbar')
# self.toolbargeo.setObjectName('Edit_TB')
# self.addToolBar(self.toolbargeo)
# self.toolbarview = QtWidgets.QToolBar('View Toolbar')
# self.toolbarview.setObjectName('View_TB')
# self.addToolBar(self.toolbarview)
# self.toolbartools = QtWidgets.QToolBar('Tools Toolbar')
# self.toolbartools.setObjectName('Tools_TB')
# self.addToolBar(self.toolbartools)
# self.exc_edit_toolbar = QtWidgets.QToolBar('Excellon Editor Toolbar')
# self.exc_edit_toolbar.setObjectName('ExcEditor_TB')
# self.addToolBar(self.exc_edit_toolbar)
# self.geo_edit_toolbar = QtWidgets.QToolBar('Geometry Editor Toolbar')
# self.geo_edit_toolbar.setVisible(False)
# self.geo_edit_toolbar.setObjectName('GeoEditor_TB')
# self.addToolBar(self.geo_edit_toolbar)
# self.snap_toolbar = QtWidgets.QToolBar('Grid Toolbar')
# self.snap_toolbar.setObjectName('Snap_TB')
# self.addToolBar(self.snap_toolbar)
### File Toolbar ###
self.file_open_gerber_btn = self.toolbarfile.addAction(QtGui.QIcon('share/flatcam_icon32.png'),
"Open GERBER")
self.file_open_excellon_btn = self.toolbarfile.addAction(QtGui.QIcon('share/drill32.png'), "Open EXCELLON")
@@ -395,10 +463,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.file_open_btn = self.toolbarfile.addAction(QtGui.QIcon('share/folder32.png'), "Open project")
self.file_save_btn = self.toolbarfile.addAction(QtGui.QIcon('share/floppy32.png'), "Save project")
self.toolbargeo = QtWidgets.QToolBar('Edit Toolbar')
self.toolbargeo.setObjectName('Edit_TB')
self.addToolBar(self.toolbargeo)
### Edit Toolbar ###
self.newgeo_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_geo32_bis.png'), "New Blank Geometry")
self.newexc_btn = self.toolbargeo.addAction(QtGui.QIcon('share/new_exc32.png'), "New Blank Excellon")
self.toolbargeo.addSeparator()
@@ -410,10 +475,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.toolbargeo.addSeparator()
self.delete_btn = self.toolbargeo.addAction(QtGui.QIcon('share/cancel_edit32.png'), "&Delete")
self.toolbarview = QtWidgets.QToolBar('View Toolbar')
self.toolbarview.setObjectName('View_TB')
self.addToolBar(self.toolbarview)
### View Toolbar ###
self.replot_btn = self.toolbarview.addAction(QtGui.QIcon('share/replot32.png'), "&Replot")
self.clear_plot_btn = self.toolbarview.addAction(QtGui.QIcon('share/clear_plot32.png'), "&Clear plot")
self.zoom_in_btn = self.toolbarview.addAction(QtGui.QIcon('share/zoom_in32.png'), "Zoom In")
@@ -422,17 +484,10 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
# self.toolbarview.setVisible(False)
self.toolbartools = QtWidgets.QToolBar('Tools Toolbar')
self.toolbartools.setObjectName('Tools_TB')
self.addToolBar(self.toolbartools)
### Tools Toolbar ###
self.shell_btn = self.toolbartools.addAction(QtGui.QIcon('share/shell32.png'), "&Command Line")
### Drill Editor Toolbar ###
self.exc_edit_toolbar = QtWidgets.QToolBar('Excellon Editor Toolbar')
self.exc_edit_toolbar.setObjectName('ExcEditor_TB')
self.addToolBar(self.exc_edit_toolbar)
self.select_drill_btn = self.exc_edit_toolbar.addAction(QtGui.QIcon('share/pointer32.png'), "Select 'Esc'")
self.add_drill_btn = self.exc_edit_toolbar.addAction(QtGui.QIcon('share/plus16.png'), 'Add Drill Hole')
self.add_drill_array_btn = self.exc_edit_toolbar.addAction(
@@ -450,11 +505,6 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.exc_edit_toolbar.setVisible(False)
### Geometry Editor Toolbar ###
self.geo_edit_toolbar = QtWidgets.QToolBar('Geometry Editor Toolbar')
self.geo_edit_toolbar.setVisible(False)
self.geo_edit_toolbar.setObjectName('GeoEditor_TB')
self.addToolBar(self.geo_edit_toolbar)
self.geo_select_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/pointer32.png'), "Select 'Esc'")
self.geo_add_circle_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/circle32.png'), 'Add Circle')
self.geo_add_arc_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/arc32.png'), 'Add Arc')
@@ -484,10 +534,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.geo_move_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/move32.png'), "Move Objects 'm'")
### Snap Toolbar ###
self.snap_toolbar = QtWidgets.QToolBar('Grid Toolbar')
self.snap_toolbar.setObjectName('Snap_TB')
# Snap GRID toolbar is always active to facilitate usage of measurements done on GRID
self.addToolBar(self.snap_toolbar)
# self.addToolBar(self.snap_toolbar)
self.grid_snap_btn = self.snap_toolbar.addAction(QtGui.QIcon('share/grid32.png'), 'Snap to grid')
self.grid_gap_x_entry = FCEntry2()
@@ -519,6 +567,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.grid_snap_btn.setCheckable(True)
self.corner_snap_btn.setCheckable(True)
################
### Splitter ###
################
@@ -531,6 +580,16 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.notebook = QtWidgets.QTabWidget()
self.splitter.addWidget(self.notebook)
# if self.app.defaults['global_theme'] == 'standard':
# self.splitter.addWidget(self.notebook)
# elif self.app.defaults['global_theme'] == 'compact':
# self.splitter_2 = QtWidgets.QSplitter(Qt.Vertical)
# self.splitter.addWidget(self.splitter_2)
# self.splitter_2.addWidget(self.notebook)
# self.splitter_2.setHandleWidth(0)
# self.snap_toolbar.setMaximumHeight(30)
# self.splitter_2.addWidget(self.snap_toolbar)
### Project ###
self.project_tab = QtWidgets.QWidget()
# project_tab.setMinimumWidth(250) # Hack
@@ -1294,6 +1353,15 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI):
self.form_box_child_11.addWidget(self.sel_draw_color_button)
self.form_box_child_11.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter)
# Theme selection
self.theme_label = QtWidgets.QLabel('Theme:')
self.alt_sf_color_label.setToolTip(
"Select a theme for FlatCAM."
)
self.theme_combo = FCComboBox()
self.theme_combo.addItem("Standard")
self.theme_combo.addItem("Compact")
# Just to add empty rows
self.spacelabel = QtWidgets.QLabel('')
@@ -1319,6 +1387,8 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI):
self.form_box.addRow(self.draw_color_label, self.form_box_child_10)
self.form_box.addRow(self.sel_draw_color_label, self.form_box_child_11)
self.form_box.addRow(self.spacelabel, self.spacelabel)
self.form_box.addRow(self.theme_label, self.theme_combo)
# Add the QFormLayout that holds the Application general defaults
# to the main layout of this TAB
self.layout.addLayout(self.form_box)