This commit is contained in:
Kovid Goyal 2008-01-10 01:15:59 +00:00
parent 672a1fa26a
commit 2e3157cfa3
4 changed files with 29 additions and 6 deletions

View File

@ -37,6 +37,9 @@ class ConfigDialog(QDialog, Ui_Dialog):
self.connect(self.browse_button, SIGNAL('clicked(bool)'), self.browse) self.connect(self.browse_button, SIGNAL('clicked(bool)'), self.browse)
dirs = settings.value('frequently used directories', QVariant(QStringList())).toStringList() 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.directory_list.addItems(dirs)
self.connect(self.add_button, SIGNAL('clicked(bool)'), self.add_dir) self.connect(self.add_button, SIGNAL('clicked(bool)'), self.add_dir)
self.connect(self.remove_button, SIGNAL('clicked(bool)'), self.remove_dir) self.connect(self.remove_button, SIGNAL('clicked(bool)'), self.remove_dir)
@ -69,5 +72,7 @@ class ConfigDialog(QDialog, Ui_Dialog):
else: else:
self.database_location = os.path.abspath(path) 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())] 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) QDialog.accept(self)

View File

@ -54,7 +54,7 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="1" column="0" > <item row="2" column="0" >
<widget class="QGroupBox" name="dirs_box" > <widget class="QGroupBox" name="dirs_box" >
<property name="title" > <property name="title" >
<string>Frequently used directories</string> <string>Frequently used directories</string>
@ -149,7 +149,7 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="2" column="0" > <item row="3" column="0" >
<spacer> <spacer>
<property name="orientation" > <property name="orientation" >
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -162,6 +162,16 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="1" column="0" >
<widget class="QCheckBox" name="roman_numerals" >
<property name="text" >
<string>Use &amp;Roman numerals for series number</string>
</property>
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="page_2" /> <widget class="QWidget" name="page_2" />

View File

@ -12,7 +12,6 @@
## You should have received a copy of the GNU General Public License along ## 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., ## with this program; if not, write to the Free Software Foundation, Inc.,
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ## 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 import os, textwrap, traceback, time, re, sre_constants
from datetime import timedelta, datetime from datetime import timedelta, datetime
from operator import attrgetter from operator import attrgetter
@ -22,11 +21,13 @@ from PyQt4.QtGui import QTableView, QProgressDialog, QAbstractItemView, QColor,
QPen, QStyle, QPainter, QLineEdit, QApplication, \ QPen, QStyle, QPainter, QLineEdit, QApplication, \
QPalette QPalette
from PyQt4.QtCore import QAbstractTableModel, QVariant, Qt, QString, \ 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.ptempfile import PersistentTemporaryFile
from libprs500.library.database import LibraryDatabase from libprs500.library.database import LibraryDatabase
from libprs500.gui2 import NONE, TableView from libprs500.gui2 import NONE, TableView
from libprs500.gui2 import qstring_to_unicode
class LibraryDelegate(QItemDelegate): class LibraryDelegate(QItemDelegate):
COLOR = QColor("blue") COLOR = QColor("blue")
@ -110,6 +111,12 @@ class BooksModel(QAbstractTableModel):
self.cols = ['title', 'authors', 'size', 'date', 'rating', 'publisher', 'series'] self.cols = ['title', 'authors', 'size', 'date', 'rating', 'publisher', 'series']
self.sorted_on = (3, Qt.AscendingOrder) self.sorted_on = (3, Qt.AscendingOrder)
self.last_search = '' # The last search performed on this model 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): def set_database(self, db):
if isinstance(db, (QString, basestring)): if isinstance(db, (QString, basestring)):
@ -218,7 +225,7 @@ class BooksModel(QAbstractTableModel):
series = self.db.series(idx) series = self.db.series(idx)
if series: if series:
sidx = self.db.series_index(idx) 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 <font face="serif">%s</font> of %s.')%(sidx, series) data[_('Series')] = _('Book <font face="serif">%s</font> of %s.')%(sidx, series)
self.emit(SIGNAL('new_bookdisplay_data(PyQt_PyObject)'), data) self.emit(SIGNAL('new_bookdisplay_data(PyQt_PyObject)'), data)

View File

@ -692,6 +692,7 @@ class Main(MainWindow, Ui_MainWindow):
self.library_view.sortByColumn(3, Qt.DescendingOrder) self.library_view.sortByColumn(3, Qt.DescendingOrder)
self.library_view.resizeRowsToContents() self.library_view.resizeRowsToContents()
set_sidebar_directories(d.directories) set_sidebar_directories(d.directories)
self.library_view.model().read_config()
############################################################################ ############################################################################