diff --git a/CMakeLists.txt b/CMakeLists.txt index 8ea185a91..36ce26ddb 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,9 @@ # the application and application will run in iconless mode. # Default and recommended value is "ON". # +# "-DENABLE_OS2_RC=OFF" +# If "ON" then icon is compiled into executable file on OS/2. Defaults to "OFF". +# # Other information: # - supports Windows, Linux, OS/2 (eComStation), # - Qt 4.7.3 and higher is required, @@ -64,6 +67,7 @@ endif(APPLE) # Options declaration. option(USE_QT_5 "Use Qt 5 for building" OFF) +option(ENABLE_OS2_RC "Compile application icon on OS/2" OFF) option(BUNDLE_ICON_THEMES "Equip installation with custom icon themes" ON) if(POLICY CMP0012) @@ -230,7 +234,7 @@ if(WIN32) ${PROJECT_SOURCE_DIR}/resources/executable_properties/rssguard_win.rc.in ${CMAKE_CURRENT_BINARY_DIR}/resources/executable_properties/rssguard_win.rc ) -elseif(OS2) +elseif(OS2 AND ${ENABLE_OS2_RC}) message(STATUS "[${APP_LOW_NAME}] Generating executable file properties for OS2.") configure_file ( ${PROJECT_SOURCE_DIR}/resources/executable_properties/rssguard_os2.rc.in @@ -251,17 +255,20 @@ if(MINGW AND WIN32) ${APP_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/resources/executable_properties/rssguard_win.rc) elseif(OS2) - enable_language(RC) - set(CMAKE_RC_COMPILER_INIT rc) - message(STATUS "[${APP_LOW_NAME}] Icon file binary will be builded for OS2.") - message(STATUS "[${APP_LOW_NAME}] Used tool is: ${CMAKE_RC_COMPILER}") - set(CMAKE_RC_COMPILE_OBJECT - " -n -r ") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Zstack 0x2000 -Zlinker \"DISABLE 1121\" -s -Zlinker /PM:PM -Zno-fork -Zhigh-mem -Zmap") - set(APP_SOURCES - ${APP_SOURCES} - ${CMAKE_CURRENT_BINARY_DIR}/resources/executable_properties/rssguard_os2.rc) + if(${ENABLE_OS2_RC}) + enable_language(RC) + set(CMAKE_RC_COMPILER_INIT rc) + message(STATUS "[${APP_LOW_NAME}] Icon file binary will be builded for OS2.") + message(STATUS "[${APP_LOW_NAME}] Used tool is: ${CMAKE_RC_COMPILER}") + set(CMAKE_RC_COMPILE_OBJECT + " -n -r ") + + set(APP_SOURCES + ${APP_SOURCES} + ${CMAKE_CURRENT_BINARY_DIR}/resources/executable_properties/rssguard_os2.rc) + endif(${ENABLE_OS2_RC}) elseif(WIN32 AND MSVC) # MSVC takes care of this automatically - no need to use windres.exe # for MSVC compilers. @@ -305,6 +312,7 @@ set(APP_SOURCES src/gui/feedstoolbar.cpp src/gui/toolbareditor.cpp src/gui/messagessearchlineedit.cpp + src/gui/formexport.cpp # DYNAMIC-SHORTCUTS sources. src/dynamic-shortcuts/shortcutcatcher.cpp @@ -386,6 +394,7 @@ set(APP_HEADERS src/gui/feedstoolbar.h src/gui/toolbareditor.h src/gui/messagessearchlineedit.h + src/gui/formexport.h # DYNAMIC-SHORTCUTS headers. src/dynamic-shortcuts/dynamicshortcutswidget.h @@ -430,6 +439,7 @@ set(APP_FORMS src/gui/formcategorydetails.ui src/gui/formfeeddetails.ui src/gui/toolbareditor.ui + src/gui/formexport.ui ) # APP translations. diff --git a/resources/text/CHANGELOG b/resources/text/CHANGELOG index dfc9482cb..7a7552d12 100644 --- a/resources/text/CHANGELOG +++ b/resources/text/CHANGELOG @@ -1,4 +1,22 @@ +

2.0.0.0

+ +Fixed: +
    +
  • /li> +
+ +Added: +
    +
  • +
+ +Changed: +
    +
  • Updated bundled OpenSSL libraries for Windows portable version.
  • +
+ +

1.9.9.9

Fixed: diff --git a/src/gui/feedmessageviewer.cpp b/src/gui/feedmessageviewer.cpp index bb8f815ff..141039cba 100644 --- a/src/gui/feedmessageviewer.cpp +++ b/src/gui/feedmessageviewer.cpp @@ -33,6 +33,7 @@ #include "gui/messagebox.h" #include "gui/messagestoolbar.h" #include "gui/feedstoolbar.h" +#include "gui/formexport.h" #include #include @@ -205,6 +206,12 @@ void FeedMessageViewer::createConnections() { connect(m_messagesView, SIGNAL(currentMessagesChanged(QList)), m_messagesBrowser, SLOT(navigateToMessages(QList))); + // Import & export of feeds. + connect(form_main->m_ui->m_actionExportFeeds, SIGNAL(triggered()), + this, SLOT(exportFeeds())); + connect(form_main->m_ui->m_actionImportFeeds, SIGNAL(triggered()), + this, SLOT(importFeeds())); + // If user selects feeds, load their messages. connect(m_feedsView, SIGNAL(feedsSelected(QList)), m_messagesView, SLOT(loadFeeds(QList))); @@ -436,3 +443,11 @@ void FeedMessageViewer::refreshVisualProperties() { m_toolBarFeeds->setToolButtonStyle(button_style); m_toolBarMessages->setToolButtonStyle(button_style); } + +void FeedMessageViewer::importFeeds() { + // TODO: todo +} + +void FeedMessageViewer::exportFeeds() { + // TODO: todo +} diff --git a/src/gui/feedmessageviewer.h b/src/gui/feedmessageviewer.h index 7f7371f07..16a356897 100644 --- a/src/gui/feedmessageviewer.h +++ b/src/gui/feedmessageviewer.h @@ -89,6 +89,11 @@ class FeedMessageViewer : public TabContent { // Reloads some changeable visual settings. void refreshVisualProperties(); + // Displays dialog for export/import of feeds + // in various formats + does the whole job. + void importFeeds(); + void exportFeeds(); + protected slots: // Updates counts of messages for example in tray icon. void updateTrayIconStatus(int unread_messages, int total_messages); diff --git a/src/gui/formexport.cpp b/src/gui/formexport.cpp new file mode 100644 index 000000000..da20187c8 --- /dev/null +++ b/src/gui/formexport.cpp @@ -0,0 +1,14 @@ +#include "formexport.h" +#include "ui_formexport.h" + +FormExport::FormExport(QWidget *parent) : + QDialog(parent), + ui(new Ui::FormExport) +{ + ui->setupUi(this); +} + +FormExport::~FormExport() +{ + delete ui; +} diff --git a/src/gui/formexport.h b/src/gui/formexport.h new file mode 100644 index 000000000..e4a6ebe1b --- /dev/null +++ b/src/gui/formexport.h @@ -0,0 +1,22 @@ +#ifndef FORMEXPORT_H +#define FORMEXPORT_H + +#include + +namespace Ui { +class FormExport; +} + +class FormExport : public QDialog +{ + Q_OBJECT + + public: + explicit FormExport(QWidget *parent = 0); + ~FormExport(); + + private: + Ui::FormExport *ui; +}; + +#endif // FORMEXPORT_H diff --git a/src/gui/formexport.ui b/src/gui/formexport.ui new file mode 100644 index 000000000..117fa6e60 --- /dev/null +++ b/src/gui/formexport.ui @@ -0,0 +1,68 @@ + + + FormExport + + + + 0 + 0 + 400 + 300 + + + + Dialog + + + + + 50 + 250 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + m_buttonBox + accepted() + FormExport + accept() + + + 248 + 254 + + + 157 + 274 + + + + + m_buttonBox + rejected() + FormExport + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/gui/formmain.cpp b/src/gui/formmain.cpp index 6c961587b..d798f3eb5 100755 --- a/src/gui/formmain.cpp +++ b/src/gui/formmain.cpp @@ -93,7 +93,8 @@ QHash FormMain::allActions() { // Add basic actions. actions.insert(m_ui->m_actionSettings->objectName(), m_ui->m_actionSettings); - actions.insert(m_ui->m_actionSettings->objectName(), m_ui->m_actionSettings); + actions.insert(m_ui->m_actionImportFeeds->objectName(), m_ui->m_actionImportFeeds); + actions.insert(m_ui->m_actionExportFeeds->objectName(), m_ui->m_actionExportFeeds); actions.insert(m_ui->m_actionQuit->objectName(), m_ui->m_actionQuit); actions.insert(m_ui->m_actionFullscreen->objectName(), m_ui->m_actionFullscreen); actions.insert(m_ui->m_actionAboutGuard->objectName(), m_ui->m_actionAboutGuard); diff --git a/src/gui/formmain.h b/src/gui/formmain.h index 90b4579ad..2ecf71d5f 100644 --- a/src/gui/formmain.h +++ b/src/gui/formmain.h @@ -58,7 +58,7 @@ class FormMain : public QMainWindow { // Returns list of all globally available actions. // NOTE: This is used for setting dynamic shortcuts // for given actions. - QHash allActions(); + QHash allActions(); // Singleton accessor. static FormMain *instance(); diff --git a/src/gui/formmain.ui b/src/gui/formmain.ui index 5f22b87f0..fe976cad3 100644 --- a/src/gui/formmain.ui +++ b/src/gui/formmain.ui @@ -55,6 +55,9 @@ &File + + + @@ -530,6 +533,22 @@ H + + + &Import feeds + + + Imports feeds you want from selected file. + + + + + &Export feeds + + + Imports feeds you want to selected file. + +