a?adida la columna le?do

se guarda el estado de las columas en la tabla
This commit is contained in:
Luis Ángel San Martín
2013-05-25 21:47:05 +02:00
parent 81c59ee1f5
commit 6fb4393e49
5 changed files with 30 additions and 5 deletions

View File

@ -4,6 +4,9 @@ A
A<EFBFBD>adidos t<>tulos "Bibliotecas" y "Carpetas" a la barra de navegaci<63>n
Nuevos iconos para seleccionar la carpeta ra<72>z, expandir y contraer todos.
Bot<EFBFBD>n para cambiar el puerto del servidor por el usuario.
Ahora las columnas de la tabla de c<>mics pueden reordenarse
Ahora YACReaderLibrary s<>lo permite una instancia ejecutandose.
Columna le<6C>do a<>adida.
6.2
Nueva ventana de "bienvenida"

View File

@ -5,8 +5,9 @@
#include <QVariant>
//! [0]
class TableItem
class TableItem : public QObject
{
Q_OBJECT
public:
TableItem(const QList<QVariant> &data);
~TableItem();

View File

@ -68,6 +68,8 @@ QVariant TableModel::data(const QModelIndex &index, int role) const
TableItem *item = static_cast<TableItem*>(index.internalPointer());
if(index.column() == HASH)
return QString::number(item->data(index.column()).toString().right(item->data(index.column()).toString().length()-40).toInt()/1024.0/1024.0,'f',2)+"Mb";
if(index.column() == READ)
return item->data(index.column()).toBool()?QVariant(tr("yes")):QVariant(tr("no"));
return item->data(index.column());
}
//! [3]
@ -100,6 +102,8 @@ QVariant TableModel::headerData(int section, Qt::Orientation orientation,
return QVariant(QString(tr("Pages")));
case 7:
return QVariant(QString(tr("Size")));
case 8:
return QVariant(QString(tr("Read")));
}
}
@ -357,6 +361,8 @@ QVector<bool> TableModel::setAllComicsRead(bool read)
db.close();
QSqlDatabase::removeDatabase(_databasePath);
emit dataChanged(index(0,READ),index(numComics-1,READ));
return readList;
}
@ -393,6 +399,8 @@ QVector<bool> TableModel::setComicsRead(QList<QModelIndex> list,bool read)
db.close();
QSqlDatabase::removeDatabase(_databasePath);
emit dataChanged(index(list.first().row(),READ),index(list.last().row(),READ));
return getReadList();
}
qint64 TableModel::asignNumbers(QList<QModelIndex> list,int startingNumber)
@ -414,6 +422,9 @@ qint64 TableModel::asignNumbers(QList<QModelIndex> list,int startingNumber)
db.commit();
db.close();
QSqlDatabase::removeDatabase(_databasePath);
//emit dataChanged(index(list.first().row(),READ),index(list.last().row(),READ));
return idFirst;
}
QModelIndex TableModel::getIndexFromId(quint64 id)

View File

@ -95,6 +95,10 @@ void LibraryWindow::setupUI()
else
//if(settings->value(USE_OPEN_GL).toBool() == false)
showMaximized();
if(settings->contains(COMICS_VIEW_HEADERS))
comicView->horizontalHeader()->restoreState(settings->value(COMICS_VIEW_HEADERS).toByteArray());
/*if(settings->contains(COMICS_VIEW_HEADERS_GEOMETRY))
comicView->horizontalHeader()->restoreGeometry(settings->value(COMICS_VIEW_HEADERS_GEOMETRY).toByteArray());*/
}
void LibraryWindow::doLayout()
@ -867,15 +871,16 @@ void LibraryWindow::loadCovers(const QModelIndex & mi)
dmCV->setupModelData(folderId,dm->getDatabase());
comicView->setModel(dmCV);
comicView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
comicView->horizontalHeader()->setMovable(true);
//TODO parametrizar la configuraci<63>n de las columnas
for(int i = 4;i<comicView->horizontalHeader()->count();i++)
if(i!=7)
comicView->horizontalHeader()->hideSection(i);
for(int i = 4;i<comicView->horizontalHeader()->count()-2;i++)
comicView->horizontalHeader()->hideSection(i);
//debido a un bug, qt4 no es capaz de ajustar el ancho teniendo en cuenta todas la filas (no s<>lo las visibles)
//as<61> que se ecala la primera vez y despu<70>s se deja el control al usuario.
comicView->resizeColumnsToContents();
if(!settings->contains(COMICS_VIEW_HEADERS))
comicView->resizeColumnsToContents();
comicView->horizontalHeader()->setStretchLastSection(true);
QStringList paths = dmCV->getPaths(currentPath());
@ -1399,6 +1404,8 @@ void LibraryWindow::showImportComicsInfo()
void LibraryWindow::closeEvent ( QCloseEvent * event )
{
settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry());
settings->setValue(COMICS_VIEW_HEADERS,comicView->horizontalHeader()->saveState());
//settings->setValue(COMICS_VIEW_HEADERS_GEOMETRY,comicView->horizontalHeader()->saveGeometry());
}
void LibraryWindow::showNoLibrariesWidget()

View File

@ -45,9 +45,12 @@
#define MAIN_WINDOW_GEOMETRY "MAIN_WINDOW_GEOMETRY"
#define MAIN_WINDOW_STATE "MAIN_WINDOW_STATE"
#define COMICS_VIEW_HEADERS "COMICS_VIEW_HEADERS"
#define COMICS_VIEW_HEADERS_GEOMETRY "COMICS_VIEW_HEADERS_GEOMETRY"
#define YACREADERLIBRARY_GUID "ea343ff3-2005-4865-b212-7fa7c43999b8"
enum FlowType
{
CoverFlowLike=0,