diff --git a/__main__.py b/__main__.py
index 413ea77..d24ae14 100755
--- a/__main__.py
+++ b/__main__.py
@@ -90,7 +90,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
self.settings_dialog = SettingsUI()
# Hide or show the main widget of the library
- self.tableView.setVisible(False)
+ self.stackedWidget.setCurrentIndex(0)
# Empty variables that will be infested soon
self.last_open_books = None
@@ -193,7 +193,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
# Init display models
self.lib_ref.generate_model('build')
- self.lib_ref.create_table_model() # TODO - Make this accompany other proxy model generations
+ self.lib_ref.create_table_model()
self.lib_ref.create_proxymodel()
# ListView
@@ -225,14 +225,6 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
self.last_open_books = 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:
# This implies a vertical resize event only
# We ain't about that lifestyle
@@ -284,15 +276,14 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
def move_on(self):
self.sorterProgress.setVisible(False)
+ self.lib_ref.create_table_model()
self.lib_ref.create_proxymodel()
- # Create the table model
- # Since images aren't displayed here, it's fast enough to not
- # need addition to
- # self.create_table_model()
- self.lib_ref.create_table_model()
-
def delete_books(self):
+ # TODO
+ # Use maptosource() here to get the view_model
+ # indices selected in the listView
+
selected_books = self.listView.selectedIndexes()
if selected_books:
def ifcontinue(box_button):
@@ -306,6 +297,7 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
self.database_path).delete_from_database(selected_hashes)
self.lib_ref.generate_model('build')
+ self.lib_ref.create_table_model()
self.lib_ref.create_proxymodel()
selected_number = len(selected_books)
@@ -321,14 +313,14 @@ class MainUI(QtWidgets.QMainWindow, mainwindow.Ui_MainWindow):
def switch_library_view(self):
if self.libraryToolBar.coverViewButton.isChecked():
- self.listView.setVisible(True)
- self.tableView.setVisible(False)
+ self.stackedWidget.setCurrentIndex(0)
self.libraryToolBar.sortingBoxAction.setVisible(True)
else:
- self.listView.setVisible(False)
- self.tableView.setVisible(True)
+ self.stackedWidget.setCurrentIndex(1)
self.libraryToolBar.sortingBoxAction.setVisible(False)
+ self.resizeEvent()
+
def tab_switch(self):
if self.tabWidget.currentIndex() == 0:
diff --git a/resources/mainwindow.py b/resources/mainwindow.py
index ce15250..a4a6de1 100644
--- a/resources/mainwindow.py
+++ b/resources/mainwindow.py
@@ -11,7 +11,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
- MainWindow.resize(1062, 720)
+ MainWindow.resize(1049, 720)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
@@ -23,10 +23,20 @@ class Ui_MainWindow(object):
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
- self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.tab)
- self.horizontalLayout_2.setObjectName("horizontalLayout_2")
- self.listView = QtWidgets.QListView(self.tab)
- self.listView.setFrameShape(QtWidgets.QFrame.StyledPanel)
+ self.gridLayout_2 = QtWidgets.QGridLayout(self.tab)
+ self.gridLayout_2.setObjectName("gridLayout_2")
+ self.stackedWidget = QtWidgets.QStackedWidget(self.tab)
+ self.stackedWidget.setFrameShape(QtWidgets.QFrame.NoFrame)
+ self.stackedWidget.setLineWidth(0)
+ self.stackedWidget.setObjectName("stackedWidget")
+ self.listPage = QtWidgets.QWidget()
+ self.listPage.setObjectName("listPage")
+ self.gridLayout_4 = QtWidgets.QGridLayout(self.listPage)
+ self.gridLayout_4.setContentsMargins(0, 0, 0, 0)
+ self.gridLayout_4.setSpacing(0)
+ self.gridLayout_4.setObjectName("gridLayout_4")
+ self.listView = QtWidgets.QListView(self.listPage)
+ self.listView.setFrameShape(QtWidgets.QFrame.NoFrame)
self.listView.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
self.listView.setProperty("showDropIndicator", False)
self.listView.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
@@ -38,9 +48,16 @@ class Ui_MainWindow(object):
self.listView.setUniformItemSizes(True)
self.listView.setWordWrap(True)
self.listView.setObjectName("listView")
- self.horizontalLayout_2.addWidget(self.listView)
- self.tableView = QtWidgets.QTableView(self.tab)
- self.tableView.setFrameShape(QtWidgets.QFrame.StyledPanel)
+ self.gridLayout_4.addWidget(self.listView, 0, 0, 1, 1)
+ self.stackedWidget.addWidget(self.listPage)
+ self.tablePage = QtWidgets.QWidget()
+ self.tablePage.setObjectName("tablePage")
+ self.gridLayout_3 = QtWidgets.QGridLayout(self.tablePage)
+ self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
+ self.gridLayout_3.setSpacing(0)
+ self.gridLayout_3.setObjectName("gridLayout_3")
+ self.tableView = QtWidgets.QTableView(self.tablePage)
+ self.tableView.setFrameShape(QtWidgets.QFrame.NoFrame)
self.tableView.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContentsOnFirstShow)
self.tableView.setEditTriggers(QtWidgets.QAbstractItemView.DoubleClicked|QtWidgets.QAbstractItemView.EditKeyPressed)
self.tableView.setAlternatingRowColors(True)
@@ -51,7 +68,9 @@ class Ui_MainWindow(object):
self.tableView.setObjectName("tableView")
self.tableView.horizontalHeader().setVisible(True)
self.tableView.verticalHeader().setVisible(False)
- self.horizontalLayout_2.addWidget(self.tableView)
+ self.gridLayout_3.addWidget(self.tableView, 0, 0, 1, 1)
+ self.stackedWidget.addWidget(self.tablePage)
+ self.gridLayout_2.addWidget(self.stackedWidget, 0, 0, 1, 1)
self.tabWidget.addTab(self.tab, "")
self.horizontalLayout.addWidget(self.tabWidget)
self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 1)
diff --git a/resources/raw/main.ui b/resources/raw/main.ui
index 3958105..54f41d3 100644
--- a/resources/raw/main.ui
+++ b/resources/raw/main.ui
@@ -6,7 +6,7 @@
0
0
- 1062
+ 1049
720
@@ -29,79 +29,127 @@
Library
-
- -
-
+
+
-
+
- QFrame::StyledPanel
+ QFrame::NoFrame
-
- QAbstractItemView::NoEditTriggers
-
-
- false
-
-
- QAbstractItemView::ExtendedSelection
-
-
- QListView::Static
-
-
- true
-
-
- QListView::Fixed
-
-
- QListView::SinglePass
-
-
+
0
-
- QListView::IconMode
-
-
- true
-
-
- true
-
-
-
- -
-
-
- QFrame::StyledPanel
-
-
- QAbstractScrollArea::AdjustToContentsOnFirstShow
-
-
- QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed
-
-
- true
-
-
- QAbstractItemView::SelectRows
-
-
- Qt::NoPen
-
-
- true
-
-
- false
-
-
- true
-
-
- false
-
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ QFrame::NoFrame
+
+
+ QAbstractItemView::NoEditTriggers
+
+
+ false
+
+
+ QAbstractItemView::ExtendedSelection
+
+
+ QListView::Static
+
+
+ true
+
+
+ QListView::Fixed
+
+
+ QListView::SinglePass
+
+
+ 0
+
+
+ QListView::IconMode
+
+
+ true
+
+
+ true
+
+
+
+
+
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ QFrame::NoFrame
+
+
+ QAbstractScrollArea::AdjustToContentsOnFirstShow
+
+
+ QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed
+
+
+ true
+
+
+ QAbstractItemView::SelectRows
+
+
+ Qt::NoPen
+
+
+ true
+
+
+ false
+
+
+ true
+
+
+ false
+
+
+
+
+