rbeesoft 1.0.1__py3-none-any.whl → 1.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,81 +1,81 @@
1
- import webbrowser
2
-
3
- from PySide6.QtWidgets import (
4
- QWidget,
5
- QLabel,
6
- QPushButton,
7
- QVBoxLayout,
8
- QDockWidget,
9
- )
10
-
11
- import rbeesoft.ui.constants as constants
12
-
13
- from rbeesoft.ui.settings import Settings
14
- from rbeesoft.ui.panels.stackedpanel import StackedPanel
15
- from rbeesoft.core.utils.logmanager import LogManager
16
-
17
- LOG = LogManager()
18
-
19
-
20
- class MainPanel(QDockWidget):
21
- def __init__(self, parent):
22
- super(MainPanel, self).__init__(parent)
23
- self._settings = None
24
- self._title_label = None
25
- self._donate_button = None
26
- self._stacked_panel = None
27
- self._panels = {}
28
- self.init_layout()
29
-
30
- def init_layout(self):
31
- layout = QVBoxLayout()
32
- layout.addWidget(self.title_label())
33
- # layout.addWidget(self.donate_button())
34
- layout.addWidget(self.stacked_panel())
35
- container = QWidget()
36
- container.setLayout(layout)
37
- self.setObjectName(constants.RBEESOFT_MAIN_PANEL_NAME)
38
- self.setWidget(container)
39
-
40
- # GETTERS
41
-
42
- def settings(self):
43
- if not self._settings:
44
- self._settings = Settings()
45
- return self._settings
46
-
47
- def title_label(self):
48
- if not self._title_label:
49
- self._title_label = QLabel('')
50
- self._title_label.setStyleSheet(constants.RBEESOFT_MAIN_PANEL_NAME_TITLE_LABEL_STYLESHEET)
51
- return self._title_label
52
-
53
- def donate_button(self):
54
- if not self._donate_button:
55
- self._donate_button = QPushButton(constants.RBEESOFT_DONATE_BUTTON_TEXT)
56
- self._donate_button.setStyleSheet(constants.RBEESOFT_DONATE_BUTTON_STYLESHEET)
57
- self._donate_button.clicked.connect(self.handle_donate_button)
58
- return self._donate_button
59
-
60
- def stacked_panel(self):
61
- if not self._stacked_panel:
62
- self._stacked_panel = StackedPanel()
63
- return self._stacked_panel
64
-
65
- def panels(self):
66
- return self._panels
67
-
68
- # ADDING PANELS
69
-
70
- def add_panel(self, panel, name):
71
- self.panels()[name] = panel.title()
72
- self.stacked_panel().add_panel(panel, name)
73
-
74
- def select_panel(self, name):
75
- self.title_label().setText(self.panels().get(name))
76
- self.stacked_panel().switch_to(name)
77
-
78
- # EVENT HANDLERS
79
-
80
- def handle_donate_button(self):
1
+ import webbrowser
2
+
3
+ from PySide6.QtWidgets import (
4
+ QWidget,
5
+ QLabel,
6
+ QPushButton,
7
+ QVBoxLayout,
8
+ QDockWidget,
9
+ )
10
+
11
+ import rbeesoft.ui.constants as constants
12
+
13
+ from rbeesoft.ui.settings import Settings
14
+ from rbeesoft.ui.panels.stackedpanel import StackedPanel
15
+ from rbeesoft.core.utils.logmanager import LogManager
16
+
17
+ LOG = LogManager()
18
+
19
+
20
+ class MainPanel(QDockWidget):
21
+ def __init__(self, parent):
22
+ super(MainPanel, self).__init__(parent)
23
+ self._settings = None
24
+ self._title_label = None
25
+ self._donate_button = None
26
+ self._stacked_panel = None
27
+ self._panels = {}
28
+ self.init_layout()
29
+
30
+ def init_layout(self):
31
+ layout = QVBoxLayout()
32
+ layout.addWidget(self.title_label())
33
+ # layout.addWidget(self.donate_button())
34
+ layout.addWidget(self.stacked_panel())
35
+ container = QWidget()
36
+ container.setLayout(layout)
37
+ self.setObjectName(constants.RBEESOFT_MAIN_PANEL_NAME)
38
+ self.setWidget(container)
39
+
40
+ # GETTERS
41
+
42
+ def settings(self):
43
+ if not self._settings:
44
+ self._settings = Settings()
45
+ return self._settings
46
+
47
+ def title_label(self):
48
+ if not self._title_label:
49
+ self._title_label = QLabel('')
50
+ self._title_label.setStyleSheet(constants.RBEESOFT_MAIN_PANEL_NAME_TITLE_LABEL_STYLESHEET)
51
+ return self._title_label
52
+
53
+ def donate_button(self):
54
+ if not self._donate_button:
55
+ self._donate_button = QPushButton(constants.RBEESOFT_DONATE_BUTTON_TEXT)
56
+ self._donate_button.setStyleSheet(constants.RBEESOFT_DONATE_BUTTON_STYLESHEET)
57
+ self._donate_button.clicked.connect(self.handle_donate_button)
58
+ return self._donate_button
59
+
60
+ def stacked_panel(self):
61
+ if not self._stacked_panel:
62
+ self._stacked_panel = StackedPanel()
63
+ return self._stacked_panel
64
+
65
+ def panels(self):
66
+ return self._panels
67
+
68
+ # ADDING PANELS
69
+
70
+ def add_panel(self, panel, name):
71
+ self.panels()[name] = panel.title()
72
+ self.stacked_panel().add_panel(panel, name)
73
+
74
+ def select_panel(self, name):
75
+ self.title_label().setText(self.panels().get(name))
76
+ self.stacked_panel().switch_to(name)
77
+
78
+ # EVENT HANDLERS
79
+
80
+ def handle_donate_button(self):
81
81
  webbrowser.open(constants.RBEESOFT_DONATE_URL)
@@ -1,62 +1,62 @@
1
- from PySide6.QtWidgets import (
2
- QTableWidget,
3
- QTableWidgetItem,
4
- QHeaderView,
5
- QVBoxLayout,
6
- QSizePolicy,
7
- )
8
- from PySide6.QtCore import Qt
9
-
10
- import rbeesoft.ui.constants as constants
11
-
12
- from rbeesoft.ui.settings import Settings
13
- from rbeesoft.ui.panels.defaultpanel import DefaultPanel
14
-
15
-
16
- class SettingsPanel(DefaultPanel):
17
- def __init__(self):
18
- super(SettingsPanel, self).__init__()
19
- self.set_title(constants.RBEESOFT_SETTINGS_PANEL_TITLE)
20
- self._title_label = None
21
- self._settings = None
22
- self._settings_table_widget = None
23
- self.init_layout()
24
-
25
- def settings(self):
26
- if not self._settings:
27
- self._settings = Settings()
28
- return self._settings
29
-
30
- def settings_table_widget(self):
31
- if not self._settings_table_widget:
32
- self._settings_table_widget = QTableWidget()
33
- self._settings_table_widget.setSortingEnabled(True)
34
- self._settings_table_widget.horizontalHeader().setVisible(True)
35
- self._settings_table_widget.verticalHeader().setVisible(False)
36
- self._settings_table_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
37
- self._settings_table_widget.setRowCount(len(self.settings().allKeys()))
38
- self._settings_table_widget.setColumnCount(2)
39
- self._settings_table_widget.setAlternatingRowColors(True)
40
- row_index = 0
41
- for key in self.settings().allKeys():
42
- self._settings_table_widget.setItem(row_index, 0, QTableWidgetItem(key))
43
- value = self.settings().get(key)
44
- if isinstance(value, str) or isinstance(value, int) or isinstance(value, bool) or isinstance(value, float):
45
- self._settings_table_widget.setItem(row_index, 1, QTableWidgetItem(str(value)))
46
- else:
47
- self._settings_table_widget.setItem(row_index, 1, QTableWidgetItem(constants.RBEESOFT_SETTINGS_PANEL_CANNOT_DISPLAY_MESSAGE))
48
- row_index += 1
49
- self._settings_table_widget.resizeColumnsToContents()
50
- self._settings_table_widget.sortItems(0, Qt.AscendingOrder)
51
- self._settings_table_widget.setHorizontalHeaderLabels([
52
- constants.RBEESOFT_SETTINGS_PANEL_NAME_COLUMN_NAME, constants.RBEESOFT_SETTINGS_PANEL_VALUE_COLUMN_NAME])
53
- self._settings_table_widget.horizontalHeader().setSectionResizeMode(QHeaderView.Interactive)
54
- self._settings_table_widget.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
55
- self._settings_table_widget.horizontalHeader().setDefaultAlignment(Qt.AlignLeft | Qt.AlignVCenter)
56
- return self._settings_table_widget
57
-
58
- def init_layout(self):
59
- layout = QVBoxLayout()
60
- layout.addWidget(self.settings_table_widget())
61
- self.setLayout(layout)
1
+ from PySide6.QtWidgets import (
2
+ QTableWidget,
3
+ QTableWidgetItem,
4
+ QHeaderView,
5
+ QVBoxLayout,
6
+ QSizePolicy,
7
+ )
8
+ from PySide6.QtCore import Qt
9
+
10
+ import rbeesoft.ui.constants as constants
11
+
12
+ from rbeesoft.ui.settings import Settings
13
+ from rbeesoft.ui.panels.defaultpanel import DefaultPanel
14
+
15
+
16
+ class SettingsPanel(DefaultPanel):
17
+ def __init__(self):
18
+ super(SettingsPanel, self).__init__()
19
+ self.set_title(constants.RBEESOFT_SETTINGS_PANEL_TITLE)
20
+ self._title_label = None
21
+ self._settings = None
22
+ self._settings_table_widget = None
23
+ self.init_layout()
24
+
25
+ def settings(self):
26
+ if not self._settings:
27
+ self._settings = Settings()
28
+ return self._settings
29
+
30
+ def settings_table_widget(self):
31
+ if not self._settings_table_widget:
32
+ self._settings_table_widget = QTableWidget()
33
+ self._settings_table_widget.setSortingEnabled(True)
34
+ self._settings_table_widget.horizontalHeader().setVisible(True)
35
+ self._settings_table_widget.verticalHeader().setVisible(False)
36
+ self._settings_table_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
37
+ self._settings_table_widget.setRowCount(len(self.settings().allKeys()))
38
+ self._settings_table_widget.setColumnCount(2)
39
+ self._settings_table_widget.setAlternatingRowColors(True)
40
+ row_index = 0
41
+ for key in self.settings().allKeys():
42
+ self._settings_table_widget.setItem(row_index, 0, QTableWidgetItem(key))
43
+ value = self.settings().get(key)
44
+ if isinstance(value, str) or isinstance(value, int) or isinstance(value, bool) or isinstance(value, float):
45
+ self._settings_table_widget.setItem(row_index, 1, QTableWidgetItem(str(value)))
46
+ else:
47
+ self._settings_table_widget.setItem(row_index, 1, QTableWidgetItem(constants.RBEESOFT_SETTINGS_PANEL_CANNOT_DISPLAY_MESSAGE))
48
+ row_index += 1
49
+ self._settings_table_widget.resizeColumnsToContents()
50
+ self._settings_table_widget.sortItems(0, Qt.AscendingOrder)
51
+ self._settings_table_widget.setHorizontalHeaderLabels([
52
+ constants.RBEESOFT_SETTINGS_PANEL_NAME_COLUMN_NAME, constants.RBEESOFT_SETTINGS_PANEL_VALUE_COLUMN_NAME])
53
+ self._settings_table_widget.horizontalHeader().setSectionResizeMode(QHeaderView.Interactive)
54
+ self._settings_table_widget.horizontalHeader().setSectionResizeMode(1, QHeaderView.Stretch)
55
+ self._settings_table_widget.horizontalHeader().setDefaultAlignment(Qt.AlignLeft | Qt.AlignVCenter)
56
+ return self._settings_table_widget
57
+
58
+ def init_layout(self):
59
+ layout = QVBoxLayout()
60
+ layout.addWidget(self.settings_table_widget())
61
+ self.setLayout(layout)
62
62
  self.setObjectName(constants.RBEESOFT_SETTINGS_PANEL_NAME)
@@ -1,22 +1,22 @@
1
- from PySide6.QtWidgets import QStackedWidget
2
-
3
-
4
- class StackedPanel(QStackedWidget):
5
- def __init__(self):
6
- super(StackedPanel, self).__init__()
7
- self._current_panel_name = None
8
- self._panels = {}
9
-
10
- def add_panel(self, panel, name):
11
- if name not in self._panels.keys():
12
- self._panels[name] = panel
13
- self._current_panel_name = name
14
- self.addWidget(panel)
15
-
16
- def current_panel_name(self):
17
- return self._current_panel_name
18
-
19
- def switch_to(self, name):
20
- panel = self._panels[name]
21
- self._current_panel_name = name
1
+ from PySide6.QtWidgets import QStackedWidget
2
+
3
+
4
+ class StackedPanel(QStackedWidget):
5
+ def __init__(self):
6
+ super(StackedPanel, self).__init__()
7
+ self._current_panel_name = None
8
+ self._panels = {}
9
+
10
+ def add_panel(self, panel, name):
11
+ if name not in self._panels.keys():
12
+ self._panels[name] = panel
13
+ self._current_panel_name = name
14
+ self.addWidget(panel)
15
+
16
+ def current_panel_name(self):
17
+ return self._current_panel_name
18
+
19
+ def switch_to(self, name):
20
+ panel = self._panels[name]
21
+ self._current_panel_name = name
22
22
  self.setCurrentWidget(panel)
rbeesoft/ui/settings.py CHANGED
@@ -1,32 +1,32 @@
1
- from PySide6.QtCore import QSettings
2
-
3
- import rbeesoft.ui.constants as constants
4
-
5
-
6
- class Settings(QSettings):
7
- def __init__(self):
8
- super(Settings, self).__init__(
9
- QSettings.IniFormat,
10
- QSettings.UserScope,
11
- constants.RBEESOFT_BUNDLE_IDENTIFIER,
12
- constants.RBEESOFT_NAME,
13
- )
14
-
15
- def prepend_bundle_identifier_and_name(self, name):
16
- return '{}.{}.{}'.format(
17
- constants.RBEESOFT_BUNDLE_IDENTIFIER,
18
- constants.RBEESOFT_NAME,
19
- name,
20
- )
21
-
22
- def get(self, name, default=None):
23
- if not name.startswith(constants.RBEESOFT_BUNDLE_IDENTIFIER):
24
- name = self.prepend_bundle_identifier_and_name(name)
25
- value = self.value(name)
26
- if value is None or value == '':
27
- return default
28
- return value
29
-
30
- def set(self, name, value):
31
- name = self.prepend_bundle_identifier_and_name(name)
1
+ from PySide6.QtCore import QSettings
2
+
3
+ import rbeesoft.ui.constants as constants
4
+
5
+
6
+ class Settings(QSettings):
7
+ def __init__(self):
8
+ super(Settings, self).__init__(
9
+ QSettings.IniFormat,
10
+ QSettings.UserScope,
11
+ constants.RBEESOFT_BUNDLE_IDENTIFIER,
12
+ constants.RBEESOFT_NAME,
13
+ )
14
+
15
+ def prepend_bundle_identifier_and_name(self, name):
16
+ return '{}.{}.{}'.format(
17
+ constants.RBEESOFT_BUNDLE_IDENTIFIER,
18
+ constants.RBEESOFT_NAME,
19
+ name,
20
+ )
21
+
22
+ def get(self, name, default=None):
23
+ if not name.startswith(constants.RBEESOFT_BUNDLE_IDENTIFIER):
24
+ name = self.prepend_bundle_identifier_and_name(name)
25
+ value = self.value(name)
26
+ if value is None or value == '':
27
+ return default
28
+ return value
29
+
30
+ def set(self, name, value):
31
+ name = self.prepend_bundle_identifier_and_name(name)
32
32
  self.setValue(name, value)
rbeesoft/ui/utils.py CHANGED
@@ -1,32 +1,32 @@
1
- import os
2
- import sys
3
-
4
- from PySide6.QtGui import QPixmap, QPainter, QColor
5
-
6
-
7
- def resource_path(relative_path):
8
- base_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
9
- return os.path.join(base_path, relative_path)
10
-
11
-
12
- def version(app_name):
13
- with open(resource_path(f'{app_name}/resources/VERSION'), 'r') as f:
14
- return f.readline().strip()
15
-
16
-
17
- def is_macos():
18
- return sys.platform.startswith('darwin')
19
-
20
-
21
- def icon(parent, icon_type):
22
- return parent.style().standardIcon(icon_type)
23
-
24
-
25
- def set_opacity(pixmap, opacity):
26
- result = QPixmap(pixmap.size())
27
- result.fill(QColor(0, 0, 0, 0))
28
- painter = QPainter(result)
29
- painter.setOpacity(opacity)
30
- painter.drawPixmap(0, 0, pixmap)
31
- painter.end()
1
+ import os
2
+ import sys
3
+
4
+ from PySide6.QtGui import QPixmap, QPainter, QColor
5
+
6
+
7
+ def resource_path(relative_path):
8
+ base_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
9
+ return os.path.join(base_path, relative_path)
10
+
11
+
12
+ def version(app_name):
13
+ with open(resource_path(f'{app_name}/resources/VERSION'), 'r') as f:
14
+ return f.readline().strip()
15
+
16
+
17
+ def is_macos():
18
+ return sys.platform.startswith('darwin')
19
+
20
+
21
+ def icon(parent, icon_type):
22
+ return parent.style().standardIcon(icon_type)
23
+
24
+
25
+ def set_opacity(pixmap, opacity):
26
+ result = QPixmap(pixmap.size())
27
+ result.fill(QColor(0, 0, 0, 0))
28
+ painter = QPainter(result)
29
+ painter.setOpacity(opacity)
30
+ painter.drawPixmap(0, 0, pixmap)
31
+ painter.end()
32
32
  return result