UI changes
This commit is contained in:
42
__main__.py
42
__main__.py
@@ -121,7 +121,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
self.statusBar.addWidget(self.sorterProgress)
|
self.statusBar.addWidget(self.sorterProgress)
|
||||||
self.sorterProgress.setVisible(False)
|
self.sorterProgress.setVisible(False)
|
||||||
|
|
||||||
# Init the QListView
|
# Init the Library
|
||||||
self.lib_ref = Library(self)
|
self.lib_ref = Library(self)
|
||||||
|
|
||||||
# Application wide temporary directory
|
# Application wide temporary directory
|
||||||
@@ -131,6 +131,9 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
self.libraryToolBar = LibraryToolBar(self)
|
self.libraryToolBar = LibraryToolBar(self)
|
||||||
self.libraryToolBar.addButton.triggered.connect(self.add_books)
|
self.libraryToolBar.addButton.triggered.connect(self.add_books)
|
||||||
self.libraryToolBar.deleteButton.triggered.connect(self.delete_books)
|
self.libraryToolBar.deleteButton.triggered.connect(self.delete_books)
|
||||||
|
self.libraryToolBar.coverViewButton.triggered.connect(self.switch_library_view)
|
||||||
|
self.libraryToolBar.coverViewButton.setChecked(True)
|
||||||
|
self.libraryToolBar.tableViewButton.triggered.connect(self.switch_library_view)
|
||||||
self.libraryToolBar.settingsButton.triggered.connect(self.show_settings)
|
self.libraryToolBar.settingsButton.triggered.connect(self.show_settings)
|
||||||
self.libraryToolBar.searchBar.textChanged.connect(self.lib_ref.update_proxymodel)
|
self.libraryToolBar.searchBar.textChanged.connect(self.lib_ref.update_proxymodel)
|
||||||
self.libraryToolBar.sortingBox.activated.connect(self.lib_ref.update_proxymodel)
|
self.libraryToolBar.sortingBox.activated.connect(self.lib_ref.update_proxymodel)
|
||||||
@@ -177,17 +180,14 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
self.available_parsers = '*.' + ' *.'.join(sorter.available_parsers)
|
self.available_parsers = '*.' + ' *.'.join(sorter.available_parsers)
|
||||||
print('Available parsers: ' + self.available_parsers)
|
print('Available parsers: ' + self.available_parsers)
|
||||||
|
|
||||||
# TODO
|
self.reloadLibrary = QtWidgets.QToolButton()
|
||||||
# Associate this with the library switcher
|
self.reloadLibrary.setIcon(QtGui.QIcon.fromTheme('reload'))
|
||||||
self.library_view_switch = QtWidgets.QToolButton()
|
self.reloadLibrary.setAutoRaise(True)
|
||||||
self.library_view_switch.setIcon(QtGui.QIcon.fromTheme('view-readermode'))
|
self.reloadLibrary.setPopupMode(QtWidgets.QToolButton.InstantPopup)
|
||||||
self.library_view_switch.setAutoRaise(True)
|
self.reloadLibrary.triggered.connect(self.switch_library_view)
|
||||||
self.library_view_switch.setPopupMode(QtWidgets.QToolButton.InstantPopup)
|
|
||||||
self.library_view_switch.triggered.connect(self.switch_library_view)
|
|
||||||
|
|
||||||
self.tabWidget.tabBar().setTabButton(
|
self.tabWidget.tabBar().setTabButton(
|
||||||
0, QtWidgets.QTabBar.RightSide, self.library_view_switch)
|
0, QtWidgets.QTabBar.RightSide, self.reloadLibrary)
|
||||||
self.library_view_switch.clicked.connect(self.switch_library_view)
|
|
||||||
self.tabWidget.tabCloseRequested.connect(self.tab_close)
|
self.tabWidget.tabCloseRequested.connect(self.tab_close)
|
||||||
|
|
||||||
# Init display models
|
# Init display models
|
||||||
@@ -203,7 +203,9 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
self.listView.setItemDelegate(LibraryDelegate(self.temp_dir.path()))
|
self.listView.setItemDelegate(LibraryDelegate(self.temp_dir.path()))
|
||||||
|
|
||||||
# TableView
|
# TableView
|
||||||
self.tableView.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Stretch)
|
self.tableView.horizontalHeader().setSectionResizeMode(
|
||||||
|
QtWidgets.QHeaderView.ResizeToContents)
|
||||||
|
self.tableView.horizontalHeader().setStretchLastSection(True)
|
||||||
|
|
||||||
# Keyboard shortcuts
|
# Keyboard shortcuts
|
||||||
self.ks_close_tab = QtWidgets.QShortcut(QtGui.QKeySequence('Ctrl+W'), self)
|
self.ks_close_tab = QtWidgets.QShortcut(QtGui.QKeySequence('Ctrl+W'), self)
|
||||||
@@ -222,6 +224,14 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
self.last_open_books = None
|
self.last_open_books = None
|
||||||
|
|
||||||
def resizeEvent(self, event=None):
|
def resizeEvent(self, event=None):
|
||||||
|
# TODO
|
||||||
|
# View switching borks the grid
|
||||||
|
|
||||||
|
# In case the listView isn't visible because the
|
||||||
|
# tableview is highlighted instead
|
||||||
|
if not self.listView.isVisible():
|
||||||
|
return
|
||||||
|
|
||||||
if event:
|
if event:
|
||||||
# This implies a vertical resize event only
|
# This implies a vertical resize event only
|
||||||
# We ain't about that lifestyle
|
# We ain't about that lifestyle
|
||||||
@@ -303,14 +313,14 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
|
|||||||
msg_box.exec_()
|
msg_box.exec_()
|
||||||
|
|
||||||
def switch_library_view(self):
|
def switch_library_view(self):
|
||||||
if self.listView.isVisible():
|
if self.libraryToolBar.coverViewButton.isChecked():
|
||||||
self.listView.setVisible(False)
|
|
||||||
self.tableView.setVisible(True)
|
|
||||||
self.libraryToolBar.sortingBoxAction.setVisible(False)
|
|
||||||
else:
|
|
||||||
self.listView.setVisible(True)
|
self.listView.setVisible(True)
|
||||||
self.tableView.setVisible(False)
|
self.tableView.setVisible(False)
|
||||||
self.libraryToolBar.sortingBoxAction.setVisible(True)
|
self.libraryToolBar.sortingBoxAction.setVisible(True)
|
||||||
|
else:
|
||||||
|
self.listView.setVisible(False)
|
||||||
|
self.tableView.setVisible(True)
|
||||||
|
self.libraryToolBar.sortingBoxAction.setVisible(False)
|
||||||
|
|
||||||
def tab_switch(self):
|
def tab_switch(self):
|
||||||
if self.tabWidget.currentIndex() == 0:
|
if self.tabWidget.currentIndex() == 0:
|
||||||
|
@@ -11,7 +11,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
|||||||
class Ui_MainWindow(object):
|
class Ui_MainWindow(object):
|
||||||
def setupUi(self, MainWindow):
|
def setupUi(self, MainWindow):
|
||||||
MainWindow.setObjectName("MainWindow")
|
MainWindow.setObjectName("MainWindow")
|
||||||
MainWindow.resize(1064, 724)
|
MainWindow.resize(1062, 720)
|
||||||
self.centralwidget = QtWidgets.QWidget(MainWindow)
|
self.centralwidget = QtWidgets.QWidget(MainWindow)
|
||||||
self.centralwidget.setObjectName("centralwidget")
|
self.centralwidget.setObjectName("centralwidget")
|
||||||
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
|
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
|
||||||
@@ -26,7 +26,7 @@ class Ui_MainWindow(object):
|
|||||||
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.tab)
|
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.tab)
|
||||||
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
|
||||||
self.listView = QtWidgets.QListView(self.tab)
|
self.listView = QtWidgets.QListView(self.tab)
|
||||||
self.listView.setFrameShape(QtWidgets.QFrame.NoFrame)
|
self.listView.setFrameShape(QtWidgets.QFrame.StyledPanel)
|
||||||
self.listView.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
self.listView.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
|
||||||
self.listView.setProperty("showDropIndicator", False)
|
self.listView.setProperty("showDropIndicator", False)
|
||||||
self.listView.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
self.listView.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||||
@@ -40,8 +40,8 @@ class Ui_MainWindow(object):
|
|||||||
self.listView.setObjectName("listView")
|
self.listView.setObjectName("listView")
|
||||||
self.horizontalLayout_2.addWidget(self.listView)
|
self.horizontalLayout_2.addWidget(self.listView)
|
||||||
self.tableView = QtWidgets.QTableView(self.tab)
|
self.tableView = QtWidgets.QTableView(self.tab)
|
||||||
self.tableView.setFrameShape(QtWidgets.QFrame.NoFrame)
|
self.tableView.setFrameShape(QtWidgets.QFrame.StyledPanel)
|
||||||
self.tableView.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
|
self.tableView.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContentsOnFirstShow)
|
||||||
self.tableView.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed)
|
self.tableView.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed)
|
||||||
self.tableView.setAlternatingRowColors(True)
|
self.tableView.setAlternatingRowColors(True)
|
||||||
self.tableView.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
self.tableView.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows)
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1064</width>
|
<width>1062</width>
|
||||||
<height>724</height>
|
<height>720</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QListView" name="listView">
|
<widget class="QListView" name="listView">
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::NoFrame</enum>
|
<enum>QFrame::StyledPanel</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="editTriggers">
|
<property name="editTriggers">
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
<set>QAbstractItemView::NoEditTriggers</set>
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QTableView" name="tableView">
|
<widget class="QTableView" name="tableView">
|
||||||
<property name="frameShape">
|
<property name="frameShape">
|
||||||
<enum>QFrame::NoFrame</enum>
|
<enum>QFrame::StyledPanel</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeAdjustPolicy">
|
<property name="sizeAdjustPolicy">
|
||||||
<enum>QAbstractScrollArea::AdjustToContentsOnFirstShow</enum>
|
<enum>QAbstractScrollArea::AdjustToContentsOnFirstShow</enum>
|
||||||
|
18
widgets.py
18
widgets.py
@@ -266,13 +266,29 @@ class LibraryToolBar(QtWidgets.QToolBar):
|
|||||||
QtGui.QIcon.fromTheme('remove'), 'Delete book', self)
|
QtGui.QIcon.fromTheme('remove'), 'Delete book', self)
|
||||||
self.settingsButton = QtWidgets.QAction(
|
self.settingsButton = QtWidgets.QAction(
|
||||||
QtGui.QIcon.fromTheme('settings'), 'Settings', self)
|
QtGui.QIcon.fromTheme('settings'), 'Settings', self)
|
||||||
|
self.settingsButton.setCheckable(True)
|
||||||
|
|
||||||
|
self.coverViewButton = QtWidgets.QAction(
|
||||||
|
QtGui.QIcon.fromTheme('view-grid'), 'View as covers', self)
|
||||||
|
self.coverViewButton.setCheckable(True)
|
||||||
|
self.tableViewButton = QtWidgets.QAction(
|
||||||
|
QtGui.QIcon.fromTheme('table'), 'View as table', self)
|
||||||
|
self.tableViewButton.setCheckable(True)
|
||||||
|
|
||||||
|
# Auto unchecks the other QToolButton in case of clicking
|
||||||
|
self.viewButtons = QtWidgets.QActionGroup(self)
|
||||||
|
self.viewButtons.setExclusive(True)
|
||||||
|
self.viewButtons.addAction(self.coverViewButton)
|
||||||
|
self.viewButtons.addAction(self.tableViewButton)
|
||||||
|
|
||||||
# Add buttons
|
# Add buttons
|
||||||
self.addAction(self.addButton)
|
self.addAction(self.addButton)
|
||||||
self.addAction(self.deleteButton)
|
self.addAction(self.deleteButton)
|
||||||
self.addSeparator()
|
self.addSeparator()
|
||||||
|
self.addAction(self.coverViewButton)
|
||||||
|
self.addAction(self.tableViewButton)
|
||||||
|
self.addSeparator()
|
||||||
self.addAction(self.settingsButton)
|
self.addAction(self.settingsButton)
|
||||||
self.settingsButton.setCheckable(True)
|
|
||||||
|
|
||||||
# Filter
|
# Filter
|
||||||
sizePolicy = QtWidgets.QSizePolicy(
|
sizePolicy = QtWidgets.QSizePolicy(
|
||||||
|
Reference in New Issue
Block a user