From 2e3157cfa34a45b26e896a357a278f27e29b5b51 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 10 Jan 2008 01:15:59 +0000 Subject: [PATCH] Implement #449 --- src/libprs500/gui2/dialogs/config.py | 7 ++++++- src/libprs500/gui2/dialogs/config.ui | 14 ++++++++++++-- src/libprs500/gui2/library.py | 13 ++++++++++--- src/libprs500/gui2/main.py | 1 + 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/libprs500/gui2/dialogs/config.py b/src/libprs500/gui2/dialogs/config.py index b820dc2971..0a45b41fbf 100644 --- a/src/libprs500/gui2/dialogs/config.py +++ b/src/libprs500/gui2/dialogs/config.py @@ -37,6 +37,9 @@ class ConfigDialog(QDialog, Ui_Dialog): self.connect(self.browse_button, SIGNAL('clicked(bool)'), self.browse) dirs = settings.value('frequently used directories', QVariant(QStringList())).toStringList() + rn = bool(settings.value('use roman numerals for series number', + QVariant(True)).toBool()) + self.roman_numerals.setChecked(rn) self.directory_list.addItems(dirs) self.connect(self.add_button, SIGNAL('clicked(bool)'), self.add_dir) self.connect(self.remove_button, SIGNAL('clicked(bool)'), self.remove_dir) @@ -69,5 +72,7 @@ class ConfigDialog(QDialog, Ui_Dialog): else: self.database_location = os.path.abspath(path) self.directories = [qstring_to_unicode(self.directory_list.item(i).text()) for i in range(self.directory_list.count())] - QSettings().setValue('frequently used directories', QVariant(self.directories)) + settings = QSettings() + settings.setValue('frequently used directories', QVariant(self.directories)) + settings.setValue('use roman numerals for series number', QVariant(self.roman_numerals.isChecked())) QDialog.accept(self) diff --git a/src/libprs500/gui2/dialogs/config.ui b/src/libprs500/gui2/dialogs/config.ui index 7c35b6c27b..dd3e667915 100644 --- a/src/libprs500/gui2/dialogs/config.ui +++ b/src/libprs500/gui2/dialogs/config.ui @@ -54,7 +54,7 @@ - + Frequently used directories @@ -149,7 +149,7 @@ - + Qt::Vertical @@ -162,6 +162,16 @@ + + + + Use &Roman numerals for series number + + + true + + + diff --git a/src/libprs500/gui2/library.py b/src/libprs500/gui2/library.py index 387b28f4c4..33b6a7b61e 100644 --- a/src/libprs500/gui2/library.py +++ b/src/libprs500/gui2/library.py @@ -12,7 +12,6 @@ ## You should have received a copy of the GNU General Public License along ## with this program; if not, write to the Free Software Foundation, Inc., ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from libprs500.gui2 import qstring_to_unicode import os, textwrap, traceback, time, re, sre_constants from datetime import timedelta, datetime from operator import attrgetter @@ -22,11 +21,13 @@ from PyQt4.QtGui import QTableView, QProgressDialog, QAbstractItemView, QColor, QPen, QStyle, QPainter, QLineEdit, QApplication, \ QPalette from PyQt4.QtCore import QAbstractTableModel, QVariant, Qt, QString, \ - QCoreApplication, SIGNAL, QObject, QSize, QModelIndex + QCoreApplication, SIGNAL, QObject, QSize, QModelIndex, \ + QSettings from libprs500.ptempfile import PersistentTemporaryFile from libprs500.library.database import LibraryDatabase from libprs500.gui2 import NONE, TableView +from libprs500.gui2 import qstring_to_unicode class LibraryDelegate(QItemDelegate): COLOR = QColor("blue") @@ -110,7 +111,13 @@ class BooksModel(QAbstractTableModel): self.cols = ['title', 'authors', 'size', 'date', 'rating', 'publisher', 'series'] self.sorted_on = (3, Qt.AscendingOrder) self.last_search = '' # The last search performed on this model + self.read_config() + def read_config(self): + self.use_roman_numbers = bool(QSettings().value('use roman numerals for series number', + QVariant(True)).toBool()) + + def set_database(self, db): if isinstance(db, (QString, basestring)): if isinstance(db, QString): @@ -218,7 +225,7 @@ class BooksModel(QAbstractTableModel): series = self.db.series(idx) if series: sidx = self.db.series_index(idx) - sidx = self.__class__.roman(sidx) + sidx = self.__class__.roman(sidx) if self.use_roman_numbers else str(sidx) data[_('Series')] = _('Book %s of %s.')%(sidx, series) self.emit(SIGNAL('new_bookdisplay_data(PyQt_PyObject)'), data) diff --git a/src/libprs500/gui2/main.py b/src/libprs500/gui2/main.py index 06396646f7..0a75e49981 100644 --- a/src/libprs500/gui2/main.py +++ b/src/libprs500/gui2/main.py @@ -692,6 +692,7 @@ class Main(MainWindow, Ui_MainWindow): self.library_view.sortByColumn(3, Qt.DescendingOrder) self.library_view.resizeRowsToContents() set_sidebar_directories(d.directories) + self.library_view.model().read_config() ############################################################################