diff --git a/YACReader/main_window_viewer.cpp b/YACReader/main_window_viewer.cpp
index 939b9e66..0a68295b 100644
--- a/YACReader/main_window_viewer.cpp
+++ b/YACReader/main_window_viewer.cpp
@@ -35,6 +35,8 @@ void MainWindowViewer::setupUI()
{
setWindowIcon(QIcon(":/images/icon.png"));
+ setUnifiedTitleAndToolBarOnMac(true);
+
viewer = new Viewer(this);
connect(viewer,SIGNAL(reset()),this,SLOT(disableActions()));
diff --git a/YACReaderLibrary/YACReaderLibrary.pro b/YACReaderLibrary/YACReaderLibrary.pro
index 4b5039e9..d7d643e9 100644
--- a/YACReaderLibrary/YACReaderLibrary.pro
+++ b/YACReaderLibrary/YACReaderLibrary.pro
@@ -72,7 +72,8 @@ HEADERS += comic_flow.h \
../common/qnaturalsorting.h \
../common/yacreader_flow_gl.h \
../common/yacreader_global.h \
- ../common/onstart_flow_selection_dialog.h
+ ../common/onstart_flow_selection_dialog.h \
+ no_libraries_widget.h
SOURCES += comic_flow.cpp \
create_library_dialog.cpp \
@@ -106,7 +107,8 @@ SOURCES += comic_flow.cpp \
../common/custom_widgets.cpp \
../common/qnaturalsorting.cpp \
../common/yacreader_flow_gl.cpp \
- ../common/onstart_flow_selection_dialog.cpp
+ ../common/onstart_flow_selection_dialog.cpp \
+ no_libraries_widget.cpp
include(./server/server.pri)
diff --git a/YACReaderLibrary/images.qrc b/YACReaderLibrary/images.qrc
index 74f3e540..f01ea5aa 100644
--- a/YACReaderLibrary/images.qrc
+++ b/YACReaderLibrary/images.qrc
@@ -4,6 +4,7 @@
../images/folder.png
../images/help.png
../images/icon.png
+ ../images/iconLibrary.png
../images/new.png
../images/openLibrary.png
../images/removeLibrary.png
@@ -57,5 +58,7 @@
../images/comicTar.png
../images/comic7z.png
../images/serverConfigBackground.png
+ ../images/noLibrariesIcon.png
+ ../images/noLibrariesLine.png
\ No newline at end of file
diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp
index 196ea82d..82ce9445 100644
--- a/YACReaderLibrary/library_window.cpp
+++ b/YACReaderLibrary/library_window.cpp
@@ -21,6 +21,7 @@
#include "data_base_management.h"
#include "yacreader_global.h"
#include "onstart_flow_selection_dialog.h"
+#include "no_libraries_widget.h"
//
@@ -29,10 +30,23 @@ LibraryWindow::LibraryWindow()
{
setupUI();
loadLibraries();
+
+ if(libraries.size()==0)
+ {
+ showNoLibrariesWidget();
+ }
+ else
+ {
+ hideNoLibrariesWidget();
+ }
}
void LibraryWindow::setupUI()
{
+ setWindowIcon(QIcon(":/images/iconLibrary.png"));
+
+ setUnifiedTitleAndToolBarOnMac(true);
+
libraryCreator = new LibraryCreator();
packageManager = new PackageManager();
@@ -195,7 +209,9 @@ void LibraryWindow::doLayout()
sHorizontal->addWidget(sVertical);
sHorizontal->setStretchFactor(0,0);
sHorizontal->setStretchFactor(1,1);
- setCentralWidget(sHorizontal);
+ mainWidget = new QStackedWidget(this);
+ mainWidget->addWidget(sHorizontal);
+ setCentralWidget(mainWidget);
//FINAL LAYOUT-------------------------------------------------------------
fullScreenToolTip = new QLabel(comicFlow);
@@ -207,6 +223,12 @@ void LibraryWindow::doLayout()
fullScreenToolTip->adjustSize();
comicFlow->setFocus(Qt::OtherFocusReason);
+
+ noLibrariesWidget = new NoLibrariesWidget();
+ mainWidget->addWidget(noLibrariesWidget);
+
+ connect(noLibrariesWidget,SIGNAL(createNewLibrary()),this,SLOT(createLibrary()));
+ connect(noLibrariesWidget,SIGNAL(addExistingLibrary()),this,SLOT(showAddLibrary()));
}
void LibraryWindow::doDialogs()
@@ -668,6 +690,7 @@ void LibraryWindow::loadLibrary(const QString & name)
{
if(libraries.size()>0) //si hay bibliotecas...
{
+ hideNoLibrariesWidget();
QString path=libraries.value(name)+"/.yacreaderlibrary";
QDir d; //TODO change this by static methods (utils class?? with delTree for example)
QString dbVersion;
@@ -768,6 +791,7 @@ void LibraryWindow::loadLibrary(const QString & name)
else //en caso de que no exista ninguna biblioteca se desactivan los botones pertinentes
{
disableAllActions();
+ showNoLibrariesWidget();
}
}
@@ -1497,4 +1521,13 @@ QString LibraryWindow::getFolderName(const QString & libraryName, qulonglong id)
void LibraryWindow::closeEvent ( QCloseEvent * event )
{
settings->setValue(MAIN_WINDOW_GEOMETRY, saveGeometry());
+}
+
+void LibraryWindow::showNoLibrariesWidget()
+{
+ mainWidget->setCurrentIndex(1);
+}
+void LibraryWindow::hideNoLibrariesWidget()
+{
+ mainWidget->setCurrentIndex(0);
}
\ No newline at end of file
diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h
index 55e267c8..2d8005eb 100644
--- a/YACReaderLibrary/library_window.h
+++ b/YACReaderLibrary/library_window.h
@@ -11,6 +11,7 @@
#include
#include
#include
+#include
#include "create_library_dialog.h"
#include "add_library_dialog.h"
@@ -30,6 +31,7 @@
#include "tablemodel.h"
#include "treeitem.h"
#include "server_config_dialog.h"
+#include "no_libraries_widget.h"
class LibraryWindow : public QMainWindow
{
@@ -79,6 +81,9 @@ private:
QLabel * fullScreenToolTip;
YACReaderIconProvider fip;
+ QStackedWidget * mainWidget;
+ NoLibrariesWidget * noLibrariesWidget;
+
bool fetching;
int i;
@@ -211,6 +216,8 @@ public:
void showExportComicsInfo();
void showImportComicsInfo();
void asignNumbers();
+ void showNoLibrariesWidget();
+ void hideNoLibrariesWidget();
//server interface
QMap getLibraries(){return libraries;};
diff --git a/YACReaderLibrary/no_libraries_widget.cpp b/YACReaderLibrary/no_libraries_widget.cpp
new file mode 100644
index 00000000..e40b4b47
--- /dev/null
+++ b/YACReaderLibrary/no_libraries_widget.cpp
@@ -0,0 +1,57 @@
+#include "no_libraries_widget.h"
+#include
+
+#include
+#include
+#include
+
+NoLibrariesWidget::NoLibrariesWidget(QWidget *parent) :
+ QWidget(parent)
+{
+ setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
+
+ setStyleSheet("{color:FFFFFF;}");
+
+ QPixmap icon(":/images/noLibrariesIcon.png");
+ QLabel * iconLabel = new QLabel();
+ iconLabel->setPixmap(icon);
+
+ QPixmap line(":/images/noLibrariesLine.png");
+ QLabel * lineLabel = new QLabel();
+ lineLabel->setPixmap(line);
+
+ QLabel * text = new QLabel(tr("You don't have any library yet"));
+ text->setStyleSheet("QLabel {font-size:25px;font-weight:bold;}");
+
+ QPushButton * createButton = new QPushButton(tr("create your first library"));
+ createButton->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
+ QPushButton * addButton = new QPushButton(tr("add an existing one"));
+ addButton->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
+
+ QVBoxLayout * layout = new QVBoxLayout(this);
+ QHBoxLayout * buttonLayout = new QHBoxLayout();
+
+ layout->setAlignment(Qt::AlignHCenter);
+
+ buttonLayout->addSpacing(100);
+ buttonLayout->addWidget(createButton);
+ layout->addSpacing(25);
+ buttonLayout->addWidget(addButton);
+ buttonLayout->addSpacing(100);
+
+ layout->addStretch();
+ layout->addWidget(iconLabel,0,Qt::AlignHCenter);
+ layout->addSpacing(10);
+ layout->addWidget(text,0,Qt::AlignHCenter);
+ layout->addSpacing(8);
+ layout->addWidget(lineLabel,0,Qt::AlignHCenter);
+ layout->addSpacing(12);
+ layout->addLayout(buttonLayout,0);
+ layout->addSpacing(150);
+ layout->addStretch();
+
+ connect(createButton,SIGNAL(clicked()),this,SIGNAL(createNewLibrary()));
+ connect(addButton,SIGNAL(clicked()),this,SIGNAL(addExistingLibrary()));
+
+
+}
diff --git a/YACReaderLibrary/no_libraries_widget.h b/YACReaderLibrary/no_libraries_widget.h
new file mode 100644
index 00000000..0727f968
--- /dev/null
+++ b/YACReaderLibrary/no_libraries_widget.h
@@ -0,0 +1,19 @@
+#ifndef NO_LIBRARIES_WIDGET_H
+#define NO_LIBRARIES_WIDGET_H
+
+#include
+
+class NoLibrariesWidget : public QWidget
+{
+ Q_OBJECT
+public:
+ explicit NoLibrariesWidget(QWidget *parent = 0);
+
+signals:
+ void createNewLibrary();
+ void addExistingLibrary();
+public slots:
+
+};
+
+#endif // NO_LIBRARIES_WIDGET_H
diff --git a/generateVS2010Projects.bat b/generateVS2010Projects.bat
index b0e748cf..b815ee74 100644
--- a/generateVS2010Projects.bat
+++ b/generateVS2010Projects.bat
@@ -1,10 +1,10 @@
echo Setting up a Qt environment...
-set QTDIR=D:\Desarrollo\Qt\4.8.3
-echo -- QTDIR set to D:\Desarrollo\Qt\4.8.3
-set PATH=D:\Desarrollo\Qt\4.8.3\bin;%PATH%
-echo -- Added D:\Desarrollo\Qt\4.8.3\bin to PATH
+set QTDIR=D:\Desarrollo\Qt\4.8.4
+echo -- QTDIR set to D:\Desarrollo\Qt\4.8.4
+set PATH=D:\Desarrollo\Qt\4.8.4\bin;%PATH%
+echo -- Added D:\Desarrollo\Qt\4.8.4\bin to PATH
set QMAKESPEC=win32-msvc2010
echo -- QMAKESPEC set to "win32-msvc2010"
diff --git a/images/noLibrariesIcon.png b/images/noLibrariesIcon.png
new file mode 100644
index 00000000..5f15c2c7
Binary files /dev/null and b/images/noLibrariesIcon.png differ
diff --git a/images/noLibrariesLine.png b/images/noLibrariesLine.png
new file mode 100644
index 00000000..18599349
Binary files /dev/null and b/images/noLibrariesLine.png differ