diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee5054..f7894cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +* [2.0 (28/06/2015)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=2.0) + * change: delete all dependencies to UltraMon + * new: allows to edit keyboard hotkeys of multiple sets in one time + * new: adds a "Open directory" button in the context menu + * new: allows to hide the closing warning + * new: change tray icon when paused + * [1.9 (25/02/2015)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.9) * fixed: 90% JPEG quality for generated wallpapers * fixed: timer not reseted on manual refresh diff --git a/README.md b/README.md index 9911ebc..a8f4e8a 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,23 @@ -# UltraMon Wallpaper Autochanger +# Ultimate Monitor Wallpaper Autochanger [![stable version](http://www.strangeplanet.fr/work/umwp-autochanger/badge.php?what=version)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php) [![downloads](http://www.strangeplanet.fr/work/umwp-autochanger/badge.php?what=downloads)](http://www.strangeplanet.fr/work/umwp-autochanger) [![Documentation](https://img.shields.io/badge/documentation-online-blue.svg)](http://www.strangeplanet.fr/work/umwp-autochanger#install) [![Gratipay](https://img.shields.io/gratipay/mistic100.svg)](https://gratipay.com/mistic100) -UMWP Autochanger is a little tool for [UltraMon](http://www.realtimesoft.com/ultramon/) users. I has two main features : +UMWP Autochanger is a little tool for multi-monitors windows users. I has two main features : * randomly and periodically change the wallpaper of all your monitors, * manage sets of wallpapers, allowing you to quickly change which images are used. -Version : 1.9 -Release date : 25/02/2015 +Version : 2.0 +Release date : 28/06/2015 Author : Damien "Mistic" Sorel Website : http://www.strangeplanet.fr/work/umwp-autochanger License : GNU General Public License Version 3 +![screenshot](http://www.strangeplanet.fr/work/umwp-autochanger/src/screenshot-main.png) ## Requirement -* UltraMon 3.2.1 or higher * Windows 7/8 32/64 bits @@ -26,5 +26,5 @@ The application is currently available in English and French. [A translation pag ## Compiling -You can compile the application yourself with Qt Designer. +You can compile the application yourself with Qt Creator. You will need Qt 4.8.4. diff --git a/installer/README.md b/installer/README.md index b75aa38..65bcb39 100644 --- a/installer/README.md +++ b/installer/README.md @@ -9,3 +9,5 @@ Put these DLLs in `data` directory before running `setup.iss` or `package.bat`: * QtGui4.dll * QtNetwork4.dll * QtXml4.dll +* imageformats/qgif4.dll +* imageformats/qjpeg4.dll \ No newline at end of file diff --git a/installer/data/readme.txt b/installer/data/readme.txt deleted file mode 100644 index 50297ef..0000000 --- a/installer/data/readme.txt +++ /dev/null @@ -1,105 +0,0 @@ -UltraMon Wallpaper Autochanger -================ - -UMWP Autochanger is a little tool for [UltraMon](http://www.realtimesoft.com/ultramon/) users. I has two main features : -* randomly and periodically change the wallpaper of all your monitors, -* manage sets of wallpapers, allowing you to quickly change which images are used. - -Version : 1.9 -Release date : 25/02/2015 -Author : Damien "Mistic" Sorel -Website : http://www.strangeplanet.fr/work/umwp-autochanger -License : GNU General Public License Version 3 - -[**Download lastest version**](http://www.strangeplanet.fr/work/umwp-autochanger/download.php) - -[**Documentation**](http://www.strangeplanet.fr/work/umwp-autochanger#install) - - -## Requirement -* UltraMon 3.2.1 or higher -* Windows 7/8 32/64 bits - - -## Translation -The application is currently available in English and French. [A translation page](https://www.transifex.com/projects/p/umwp-autochanger) has been created on Transifex, feel free to register and contribute. - - -## Compiling -You can compile the application yourself with Qt Designer. -You will need Qt 4.8.4. - - -# Changelog - -* [1.9 (25/02/2015)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.9) - * fixed: 90% JPEG quality for generated wallpapers - * fixed: timer not reseted on manual refresh - * new: right-click context menu to edit sets - * new: choosable language in Options - * new: "Mode" option, "Random" or "Sequential" - * new: edit multiple sets together (Mode, Type and Style) - * technical: remove dependency to libqxt - * technical: MD5 check on auto-update - -* [1.8 (10/11/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.8) - * new: can disable wallpaper support on specific monitors - * new: choose background color of each monitor - * new: "Delete" button on "Active files" dialog - * new: auto-update process - * fixed: crash after changing delay - -* [1.7 (01/08/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.7) - * new: add "Fill" mode - * new: create default.wallpaper file if not present - * change: don't delete missing sets but highlight them - -* [1.6 (08/03/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.6) - * change: Alt-F4 effectively closes application without prompt - * fixed: application closes when closing dialog window while main window is hidden - * fixed: delay input with wrong display format - * fixed: set parameters randomly resetted - -* [1.5 (12/02/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.5) - * new: export and import XML configuration file - * new: check UltraMon version - * new: add logger for debuging purposes - * new: "Active files" dialog with cliquable thumbnails for direct access to files - * fixed: better detection of UltraMon executable - * fixed: no more freeze when updating wallpaper - -* [1.4 (06/01/2014)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.4) - * new: more flexibility for hot keys + new hotkeys for refresh, start/pause, show/hide - * new: permanently save last used directory - -* [1.3 (03/12/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.3) - * new: can choose the type of wallpaper ('monitor' or 'desktop') and the style ('center', 'tile', 'stretch', 'stretch proportional') - * new: icons for main buttons (add, [de]activate, delete) - * change: dedicated configuration dialog - * change: use a cache to speed up startup - * change: random images are taken from the same (random too) set if more than one is active - * fixed: refresh issue of the list when deleting sets - -* [1.2 (09/09/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.2) - * new: system-wide hotkeys for quick change - * new: reorder sets with drag'n'drop - * new: integrated help - -* [1.1 (13/05/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.1) - * fixed: use better shuffle - * fixed: remember last used directory - * fixed: accept files with .jpeg extension - * new: add version checker - * new: add quick switch menu in tray con - * code optimizations - -* [1.0 (02/03/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.0) - * fixed: multi delete doesn't work correclty - -* [1.0 alpha2 (28/02/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.0a2) - * fixed: autorun shortcut not starting in the good working directory - * fixed: delay spinbox no initialized correctly - * new: multiple selection - -* [1.0 alpha1 (27/02/2013)](http://www.strangeplanet.fr/work/umwp-autochanger/download.php?ver=1.0a1) - * first version \ No newline at end of file diff --git a/installer/package.bat b/installer/package.bat index a9a2a55..4ba2ded 100644 --- a/installer/package.bat +++ b/installer/package.bat @@ -1 +1 @@ -"C:\Program Files\7-Zip\7z.exe" a UMWP_Autochanger_1.9.zip ./data/* -x!*.ico \ No newline at end of file +"C:\Program Files\7-Zip\7z.exe" a UMWP_Autochanger_2.0.zip ./data/* -x!*.ico \ No newline at end of file diff --git a/installer/setup.iss b/installer/setup.iss index 5605dff..c79a5fa 100644 --- a/installer/setup.iss +++ b/installer/setup.iss @@ -1,6 +1,6 @@ #define AppId "{401CCECB-FFCC-4AF3-846D-A535F59D0834}" #define AppName "UMWP Autochanger" -#define AppVersion "1.9" +#define AppVersion "2.0" #define AppPublisher "StrangePlanet" #define PublisherURL "http://www.strangeplanet.fr" #define ProjectURL "http://www.strangeplanet.fr/work/umwp-autochanger" @@ -30,7 +30,6 @@ DisableProgramGroupPage=auto ; readme LicenseFile={#DataRoot}\gpl-3.0.txt -InfoAfterFile={#DataRoot}\readme.txt ; output OutputDir=./ @@ -65,6 +64,7 @@ Filename: "{app}\{#AppExeName}"; Description: "{cm:LaunchProgram,{#StringChange( [InstallDelete] Type: filesandordirs; Name: "{app}\cache"; Type: files; Name: "{app}\debug.log"; +Type: files; Name: "{app}\readme.txt"; Type: files; Name: "{app}\QxtCore.dll"; Type: files; Name: "{app}\QxtGui.dll"; diff --git a/src/UMWP_Autochanger.qrc b/src/UMWP_Autochanger.qrc index 94dd69c..3f1eef9 100644 --- a/src/UMWP_Autochanger.qrc +++ b/src/UMWP_Autochanger.qrc @@ -2,7 +2,6 @@ images/icon.png images/icon_pause.png - images/error.png images/icons/about.png images/icons/add.png images/icons/add_color.png @@ -47,5 +46,6 @@ lang/fr_FR/main.qm lang/fr_FR/changelog.htm lang/en_GB/changelog.htm + images/icons/todo.png diff --git a/src/controller.cpp b/src/controller.cpp index 22de3b8..6f679d0 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -104,6 +104,7 @@ void Controller::update() m_settings->updateSets(); m_enviro->refreshMonitors(); emit listChanged(false); + m_files.clear(); // get random files m_set = m_generator->getRandomSet(); diff --git a/src/gui/changelogdialog.h b/src/gui/changelogdialog.h index a304c5d..9c8b32a 100644 --- a/src/gui/changelogdialog.h +++ b/src/gui/changelogdialog.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "ui_changelogdialog.h" @@ -63,6 +64,12 @@ class ChangelogDialog : public QDialog { delete ui; } + +private slots: + void on_content_anchorClicked(const QUrl &_url) + { + QDesktopServices::openUrl(_url); + } }; #endif // CHANGELOGDIALOG_H diff --git a/src/gui/changelogdialog.ui b/src/gui/changelogdialog.ui index 8dbfc34..75304a6 100644 --- a/src/gui/changelogdialog.ui +++ b/src/gui/changelogdialog.ui @@ -13,15 +13,21 @@ Changelog - - - - - true + + + + + + + + :/images/icons/todo.png + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - + Qt::Horizontal @@ -34,9 +40,21 @@ + + + + true + + + false + + + - + + + buttonBox diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index c429d4f..37f686a 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -94,7 +94,12 @@ void MainWindow::init() if (QString::fromAscii(APP_VERSION).compare(m_settings->get("changelog_shown").toString()) > 0) { - openChangelogDialog(); + m_settings->setOpt("changelog_shown", QString::fromAscii(APP_VERSION)); + + if (m_settings->nbSets()>0) // do not show changelog at first startup + { + openChangelogDialog(); + } } } @@ -196,6 +201,12 @@ void MainWindow::toggleWindow(bool _forceHide) activateWindow(); m_trayIcon->setHidden(false); + + if (QString::fromAscii(APP_VERSION).compare(m_settings->get("changelog_shown").toString()) > 0) + { + m_settings->setOpt("changelog_shown", QString::fromAscii(APP_VERSION)); + openChangelogDialog(); + } } } @@ -349,8 +360,6 @@ void MainWindow::openChangelogDialog() { ChangelogDialog dialog(this); dialog.exec(); - - m_settings->setOpt("changelog_shown", QString::fromAscii(APP_VERSION)); } /** @@ -358,7 +367,7 @@ void MainWindow::openChangelogDialog() */ void MainWindow::openAboutDialog() { - QString text = "

" + QString::fromAscii(APP_NAME) + " " + QString::fromAscii(APP_VERSION) + "

"; + QString text = "

" + QString::fromAscii(APP_FILEDESCRIPTION) + " " + QString::fromAscii(APP_VERSION) + "

"; text+= "Created by Damien \"Mistic\" Sorel.
"; text+= "© 2013-2015 StrangePlanet.fr
"; text+= "Licenced under GNU General Public License Version 3"; @@ -384,8 +393,15 @@ void MainWindow::openAboutDialog() */ void MainWindow::openPreviewDialog() { - PreviewDialog dialog(this, m_ctrl); - dialog.exec(); + if (m_ctrl->files().isEmpty()) + { + QMessageBox::warning(this, tr("Error"), tr("No active files"), QMessageBox::Ok); + } + else + { + PreviewDialog dialog(this, m_ctrl); + dialog.exec(); + } } /** diff --git a/src/gui/menubar.cpp b/src/gui/menubar.cpp index 5960051..7d1bd1d 100644 --- a/src/gui/menubar.cpp +++ b/src/gui/menubar.cpp @@ -22,7 +22,7 @@ MenuBar::MenuBar(MainWindow* _parent, Controller *_ctrl) : QMenu* menuHelp = new QMenu(); QAction* actionHelp = menuHelp->addAction(QIcon(":/images/icons/help_color.png"), tr("User guide")); - m_actionFiles = menuHelp->addAction(QIcon(":/images/icons/images.png"), tr("Active files")); + QAction* actionFiles = menuHelp->addAction(QIcon(":/images/icons/images.png"), tr("Active files")); menuHelp->addSeparator(); QAction* actionIssues = menuHelp->addAction(QIcon(":/images/icons/bug.png"), tr("Report a bug")); QAction* actionHome = menuHelp->addAction(QIcon(":/images/icons/house.png"), tr("Homepage")); @@ -51,7 +51,7 @@ MenuBar::MenuBar(MainWindow* _parent, Controller *_ctrl) : connect(actionHelp, SIGNAL(triggered()), _parent, SLOT(openHelpDialog())); connect(actionAbout, SIGNAL(triggered()), _parent, SLOT(openAboutDialog())); - connect(m_actionFiles, SIGNAL(triggered()), _parent, SLOT(openPreviewDialog())); + connect(actionFiles, SIGNAL(triggered()), _parent, SLOT(openPreviewDialog())); // use signal mapper for all buttons oppening a web page QSignalMapper* mapper = new QSignalMapper(this); diff --git a/src/gui/menubar.h b/src/gui/menubar.h index b19bfd8..e7ee03a 100644 --- a/src/gui/menubar.h +++ b/src/gui/menubar.h @@ -23,8 +23,6 @@ class MenuBar : public QToolBarExt Controller* m_ctrl; QToolButton* m_actionPause; - QAction* m_actionFiles; - QWidgetBlinker* m_pauseBlinker; public: diff --git a/src/images/error.png b/src/images/error.png deleted file mode 100644 index 2e8b8b0..0000000 Binary files a/src/images/error.png and /dev/null differ diff --git a/src/images/icons/todo.png b/src/images/icons/todo.png new file mode 100644 index 0000000..3b0db13 Binary files /dev/null and b/src/images/icons/todo.png differ diff --git a/src/images/src/button.psd b/src/images/src/button.psd deleted file mode 100644 index f0532c9..0000000 Binary files a/src/images/src/button.psd and /dev/null differ diff --git a/src/images/src/keys.psd b/src/images/src/keys.psd deleted file mode 100644 index bc10ec9..0000000 Binary files a/src/images/src/keys.psd and /dev/null differ diff --git a/src/lang/en_GB/changelog.htm b/src/lang/en_GB/changelog.htm index 70cd6b5..6e4d8fd 100644 --- a/src/lang/en_GB/changelog.htm +++ b/src/lang/en_GB/changelog.htm @@ -10,4 +10,18 @@
  • Allows to hide the closing warning.
  • + +
    Version 1.9.0 February 25th 2015
    +
    +
      +
    • New context menu on sets list.
    • +
    • Choosable application language.
    • +
    • "Mode" option: random or sequential.
    • +
    • Batch edition of sets.
    • +
    +
    + +
    + See older versions +
    \ No newline at end of file diff --git a/src/lang/en_GB/main.ts b/src/lang/en_GB/main.ts index b8f5f93..b59c573 100644 --- a/src/lang/en_GB/main.ts +++ b/src/lang/en_GB/main.ts @@ -5,7 +5,7 @@ ChangelogDialog - + Changelog @@ -204,90 +204,96 @@ MainWindow - + Quit - + Import configuration file - + Export configuration file - + About - - + + XML files (*.xml) - + Add set - + + Error - + Invalid settings file - - + + User guide - + Changelog - + + No active files + + + + Paused - + Running - + Current sets : %1 - - + + A new version is available : %1 - + Close and don't show this message again - + %1 is still running - + If you quit the application now,<br>the wallpaper will not change anymore. diff --git a/src/lang/fr_FR/changelog.htm b/src/lang/fr_FR/changelog.htm index c94a8f4..ced63a4 100644 --- a/src/lang/fr_FR/changelog.htm +++ b/src/lang/fr_FR/changelog.htm @@ -10,4 +10,18 @@
  • Permet de masquer l'alerte de fermeture.
  • + +
    Version 1.9.0 25 Février 2015
    +
    +
      +
    • Nouveau menu contextuel pour gérer les sets.
    • +
    • Permet de choisir la langue de l'application.
    • +
    • Paramètre "Mode" : aléatoire ou séquentiel.
    • +
    • Édition par lot des sets.
    • +
    +
    + +
    + Voir les versions plus anciennes +
    \ No newline at end of file diff --git a/src/lang/fr_FR/main.qm b/src/lang/fr_FR/main.qm index 3a3231c..ab3c1fc 100644 Binary files a/src/lang/fr_FR/main.qm and b/src/lang/fr_FR/main.qm differ diff --git a/src/lang/fr_FR/main.ts b/src/lang/fr_FR/main.ts index 96d7aae..6b6e98f 100644 --- a/src/lang/fr_FR/main.ts +++ b/src/lang/fr_FR/main.ts @@ -5,7 +5,7 @@ ChangelogDialog - + Changelog Suivi de versions @@ -204,90 +204,96 @@ MainWindow - + Quit Quitter - + Import configuration file Importer la configuration - + Export configuration file Exporter la configuration - + About À propos - - + + XML files (*.xml) Fichiers XML (*.xml) - + Add set Ajouter - + + Error Erreur - + Invalid settings file Fichier de configuration invalide - - + + User guide Guide d'utilisation - + Changelog Suivi de versions - + + No active files + Aucun fichier actif + + + Paused Mis en pause - + Running Démarré - + Current sets : %1 Sets actuels : %1 - - + + A new version is available : %1 Une nouvelle version est disponible : %1 - + Close and don't show this message again Fermer et ne plus afficher ce message - + %1 is still running %1 est toujours en cours d'éxécution - + If you quit the application now,<br>the wallpaper will not change anymore. Si vous quittez l'application maintenant,<br>le fond d'écran ne changera plus. @@ -322,7 +328,7 @@ Active files - Fichiers courant + Fichiers actifs diff --git a/src/wallpapergenerator.cpp b/src/wallpapergenerator.cpp index f962611..be12ef9 100644 --- a/src/wallpapergenerator.cpp +++ b/src/wallpapergenerator.cpp @@ -142,6 +142,11 @@ QString WallpaperGenerator::getRandomFile(Set* _set, const QVector &_fi { int total = _set->count(); + if (total == 0) + { + return ""; + } + // only one file in the set ?! if (total == 1) {