diff options
Diffstat (limited to 'src/plugins')
16 files changed, 204 insertions, 86 deletions
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt index a72b8e51b..32dc59f34 100644 --- a/src/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -4,4 +4,5 @@ add_subdirectory(Visual) add_subdirectory(Effect) add_subdirectory(General) add_subdirectory(PlaylistFormats) -add_subdirectory(CommandLineOptions)
\ No newline at end of file +add_subdirectory(CommandLineOptions) +add_subdirectory(FileDialogs) diff --git a/src/plugins/FileDialogs/CMakeLists.txt b/src/plugins/FileDialogs/CMakeLists.txt new file mode 100644 index 000000000..8fd39edfd --- /dev/null +++ b/src/plugins/FileDialogs/CMakeLists.txt @@ -0,0 +1,5 @@ +SET(USE_QMMP_DIALOG TRUE CACHE BOOL "enable/disable Qmmp file dialog") + +IF(USE_QMMP_DIALOG) +add_subdirectory(QmmpFileDialog) +ENDIF(USE_QMMP_DIALOG) diff --git a/src/plugins/FileDialogs/FileDialogs.pro b/src/plugins/FileDialogs/FileDialogs.pro new file mode 100644 index 000000000..7893b306e --- /dev/null +++ b/src/plugins/FileDialogs/FileDialogs.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +SUBDIRS += QmmpFileDialog diff --git a/src/plugins/FileDialogs/QmmpFileDialog/CMakeLists.txt b/src/plugins/FileDialogs/QmmpFileDialog/CMakeLists.txt new file mode 100644 index 000000000..e952b1d35 --- /dev/null +++ b/src/plugins/FileDialogs/QmmpFileDialog/CMakeLists.txt @@ -0,0 +1,61 @@ +project(libqmmpfiledialog) + +cmake_minimum_required(VERSION 2.4.0) + +if(COMMAND cmake_policy) +cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) + + +# qt plugin +ADD_DEFINITIONS( -Wall ) +ADD_DEFINITIONS(${QT_DEFINITIONS}) +ADD_DEFINITIONS(-DQT_PLUGIN) +ADD_DEFINITIONS(-DQT_NO_DEBUG) +ADD_DEFINITIONS(-DQT_SHARED) +ADD_DEFINITIONS(-DQT_THREAD) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +SET(QT_INCLUDES + ${QT_INCLUDES} + ${CMAKE_CURRENT_BINARY_DIR}/../../../ +) + +# libqmmpui +include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../) +link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmpui) + +SET(libqmmpfiledialog_SRCS + qmmpfiledialogimpl.cpp + qmmpfiledialog.cpp +) + +SET(libqmmpfiledialog_MOC_HDRS + qmmpfiledialogimpl.h + qmmpfiledialog.h +) + +#SET(libqmmpfiledialog_RCCS +# translations/translations.qrc +# qmmpfiledialog_images.qrc) + +#QT4_ADD_RESOURCES(libqmmpfiledialog_RCC_SRCS ${libqmmpfiledialog_RCCS}) + +QT4_WRAP_CPP(libqmmpfiledialog_MOC_SRCS ${libqmmpfiledialog_MOC_HDRS}) + +# user interface + + +SET(libqmmpfiledialog_UIS + qmmpfiledialog.ui +) + +QT4_WRAP_UI(libqmmpfiledialog_UIS_H ${libqmmpfiledialog_UIS}) +# Don't forget to include output directory, otherwise +# the UI file won't be wrapped! +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +ADD_LIBRARY(qmmpfiledialog SHARED ${libqmmpfiledialog_SRCS} ${libqmmpfiledialog_MOC_SRCS} ${libqmmpfiledialog_UIS_H} ${libqmmpfiledialog_RCC_SRCS}) +target_link_libraries(qmmpfiledialog ${QT_LIBRARIES} -lqmmpui) +install(TARGETS qmmpfiledialog DESTINATION ${LIB_DIR}/qmmp/FileDialogs) diff --git a/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro b/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro new file mode 100644 index 000000000..8722d6f86 --- /dev/null +++ b/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro @@ -0,0 +1,31 @@ +include(../../plugins.pri) + +INCLUDEPATH += ../../../../src + +TARGET =$$PLUGINS_PREFIX/FileDialogs/qmmpfiledialog +QMAKE_CLEAN =$$PLUGINS_PREFIX/FileDialogs/libqmmpfiledialog.so + +HEADERS += qmmpfiledialog.h \ + qmmpfiledialogimpl.h + +SOURCES += qmmpfiledialog.cpp \ + qmmpfiledialogimpl.cpp + + +FORMS += qmmpfiledialog.ui + + +QMAKE_CLEAN += ../libqmmpfiledialog.so + + +CONFIG += release warn_on plugin + +TEMPLATE = lib + +QMAKE_LIBDIR += ../../../../lib + +isEmpty(LIB_DIR){ + LIB_DIR = /lib +} +target.path = $$LIB_DIR/qmmp/FileDialogs +INSTALLS += target diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp index fce9f6e53..fce9f6e53 100644 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp +++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.h index 30a4fef59..2b69e06c3 100644 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h +++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.h @@ -1,7 +1,7 @@ #ifndef QMMPFILEDIALOG_H #define QMMPFILEDIALOG_H -#include <filedialog.h> +#include <qmmpui/filedialog.h> class QmmpFileDialogImpl; diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui index dbfb2edc2..932e0b961 100644 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui +++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui @@ -12,21 +12,42 @@ <property name="windowTitle" > <string>Add Files</string> </property> + <property name="sizeGripEnabled" > + <bool>true</bool> + </property> <layout class="QVBoxLayout" > - <property name="margin" > - <number>9</number> - </property> <property name="spacing" > <number>6</number> </property> + <property name="leftMargin" > + <number>9</number> + </property> + <property name="topMargin" > + <number>9</number> + </property> + <property name="rightMargin" > + <number>9</number> + </property> + <property name="bottomMargin" > + <number>9</number> + </property> <item> <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> <property name="spacing" > <number>6</number> </property> + <property name="leftMargin" > + <number>0</number> + </property> + <property name="topMargin" > + <number>0</number> + </property> + <property name="rightMargin" > + <number>0</number> + </property> + <property name="bottomMargin" > + <number>0</number> + </property> <item> <widget class="QLabel" name="label_2" > <property name="text" > @@ -37,9 +58,7 @@ <item> <widget class="QComboBox" name="lookInComboBox" > <property name="sizePolicy" > - <sizepolicy> - <hsizetype>5</hsizetype> - <vsizetype>0</vsizetype> + <sizepolicy vsizetype="Fixed" hsizetype="Preferred" > <horstretch>1</horstretch> <verstretch>0</verstretch> </sizepolicy> @@ -54,8 +73,8 @@ <property name="text" > <string>Up</string> </property> - <property name="icon" > - <iconset resource="images/images.qrc" >:/cdup.png</iconset> + <property name="autoRaise" > + <bool>true</bool> </property> </widget> </item> @@ -67,12 +86,12 @@ <property name="text" > <string>lst</string> </property> - <property name="icon" > - <iconset resource="images/images.qrc" >:/list.png</iconset> - </property> <property name="checkable" > <bool>true</bool> </property> + <property name="autoRaise" > + <bool>true</bool> + </property> </widget> </item> <item> @@ -83,9 +102,6 @@ <property name="text" > <string>icn</string> </property> - <property name="icon" > - <iconset resource="images/images.qrc" >:/detail.png</iconset> - </property> <property name="iconSize" > <size> <width>16</width> @@ -95,6 +111,9 @@ <property name="checkable" > <bool>true</bool> </property> + <property name="autoRaise" > + <bool>true</bool> + </property> </widget> </item> </layout> @@ -108,7 +127,7 @@ <bool>true</bool> </property> <property name="dragDropMode" > - <enum>QAbstractItemView::NoDragDrop</enum> + <enum>QAbstractItemView::DragDrop</enum> </property> <property name="alternatingRowColors" > <bool>false</bool> @@ -120,7 +139,13 @@ <enum>QAbstractItemView::SelectItems</enum> </property> <property name="movement" > - <enum>QListView::Static</enum> + <enum>QListView::Free</enum> + </property> + <property name="isWrapping" stdset="0" > + <bool>true</bool> + </property> + <property name="resizeMode" > + <enum>QListView::Adjust</enum> </property> <property name="layoutMode" > <enum>QListView::Batched</enum> @@ -128,6 +153,9 @@ <property name="viewMode" > <enum>QListView::ListMode</enum> </property> + <property name="uniformItemSizes" > + <bool>false</bool> + </property> <property name="wordWrap" > <bool>true</bool> </property> @@ -135,12 +163,21 @@ </item> <item> <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> <property name="spacing" > <number>6</number> </property> + <property name="leftMargin" > + <number>0</number> + </property> + <property name="topMargin" > + <number>0</number> + </property> + <property name="rightMargin" > + <number>0</number> + </property> + <property name="bottomMargin" > + <number>0</number> + </property> <item> <widget class="QLabel" name="label" > <property name="text" > @@ -155,12 +192,21 @@ </item> <item> <layout class="QHBoxLayout" > - <property name="margin" > - <number>0</number> - </property> <property name="spacing" > <number>6</number> </property> + <property name="leftMargin" > + <number>0</number> + </property> + <property name="topMargin" > + <number>0</number> + </property> + <property name="rightMargin" > + <number>0</number> + </property> + <property name="bottomMargin" > + <number>0</number> + </property> <item> <spacer> <property name="orientation" > diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp index 984cc7204..cef212d9f 100644 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp +++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp @@ -1,7 +1,9 @@ #include "qmmpfiledialogimpl.h" #include <QDirModel> +#include <QApplication> #include <QFileInfo> +#include <QStyle> QmmpFileDialogImpl::QmmpFileDialogImpl( QWidget * parent, Qt::WindowFlags f) : QDialog(parent,f) { @@ -9,10 +11,13 @@ QmmpFileDialogImpl::QmmpFileDialogImpl( QWidget * parent, Qt::WindowFlags f) : Q setAttribute(Qt::WA_QuitOnClose, FALSE); m_model = new QDirModel(this); m_model->setSorting(QDir::Type /*| QDir::Name*/); - fileListView->setModel(m_model); + fileListView->setModel(m_model); //fileListView->setViewMode(QListView::IconMode); listToolButton->setChecked(true); -} + upToolButton->setIcon(qApp->style()->standardIcon(QStyle::SP_ArrowUp)); + listToolButton->setIcon(qApp->style()->standardIcon(QStyle::SP_FileDialogListView)); + iconToolButton->setIcon(qApp->style()->standardIcon(QStyle::SP_FileDialogDetailedView)); +} QmmpFileDialogImpl::~QmmpFileDialogImpl() { @@ -20,7 +25,7 @@ QmmpFileDialogImpl::~QmmpFileDialogImpl() void QmmpFileDialogImpl::on_lookInComboBox_activated(const QString&) { - qWarning("TODO: %s %d",__FILE__,__LINE__); + qWarning("TODO: %s %d",__FILE__,__LINE__); } void QmmpFileDialogImpl::on_upToolButton_clicked() @@ -31,10 +36,10 @@ void QmmpFileDialogImpl::on_upToolButton_clicked() void QmmpFileDialogImpl::on_fileListView_doubleClicked(const QModelIndex& ind) { - if(ind.isValid()) + if (ind.isValid()) { QFileInfo info = m_model->fileInfo(ind); - if(info.isDir()) + if (info.isDir()) { fileListView->setRootIndex(ind); lookInComboBox->setEditText(m_model->filePath(ind)); @@ -46,12 +51,12 @@ void QmmpFileDialogImpl::on_fileListView_doubleClicked(const QModelIndex& ind) emit filesAdded(l); } } - + } void QmmpFileDialogImpl::on_fileNameLineEdit_returnPressed() { - on_addPushButton_clicked(); + on_addPushButton_clicked(); } void QmmpFileDialogImpl::on_addPushButton_clicked() @@ -59,19 +64,19 @@ void QmmpFileDialogImpl::on_addPushButton_clicked() QModelIndexList ml = fileListView->selectionModel()->selectedIndexes(); QStringList l; foreach(QModelIndex i,ml) - l << m_model->filePath(i); + l << m_model->filePath(i); qWarning("!!!!!!!!!"); emit filesAdded(l); } void QmmpFileDialogImpl::setModeAndMask(const QString& d,FileDialog::Mode m, const QStringList & mask) { - if(m == FileDialog::AddFiles) + if (m == FileDialog::AddFiles) { setWindowTitle("Add Files"); m_model->setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); } - else if(m == FileDialog::AddDirs) + else if (m == FileDialog::AddDirs) { setWindowTitle("Add Dirs"); m_model->setFilter(QDir::Dirs | QDir::NoDotAndDotDot); @@ -86,24 +91,26 @@ void QmmpFileDialogImpl::setModeAndMask(const QString& d,FileDialog::Mode m, con m_model->setSorting(QDir::Type); fileListView->setRootIndex(m_model->index(d)); m_model->sort(0); - lookInComboBox->setEditText(d); + lookInComboBox->setEditText(QDir::cleanPath(d)); } void QmmpFileDialogImpl::on_listToolButton_toggled(bool yes) { - if(yes) + if (yes) { iconToolButton->setChecked(false); fileListView->setViewMode(QListView::ListMode); + fileListView->setGridSize(QSize(-1, -1)); } } void QmmpFileDialogImpl::on_iconToolButton_toggled(bool yes) { - if(yes) + if (yes) { listToolButton->setChecked(false); fileListView->setViewMode(QListView::IconMode); + fileListView->setGridSize(QSize(80, 80)); } } diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h index 2be25bf05..12cd63e21 100644 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h +++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h @@ -4,24 +4,24 @@ #include "ui_qmmpfiledialog.h" #include <QDialog> -#include "filedialog.h" +#include <qmmpui/filedialog.h> class QDirModel; class QmmpFileDialogImpl : public QDialog , private Ui::QmmpFileDialog { -Q_OBJECT + Q_OBJECT public: - QmmpFileDialogImpl( QWidget * parent = 0, Qt::WindowFlags f = 0 ); - ~QmmpFileDialogImpl(); + QmmpFileDialogImpl( QWidget * parent = 0, Qt::WindowFlags f = 0 ); + ~QmmpFileDialogImpl(); void setModeAndMask(const QString&,FileDialog::Mode m,const QStringList& mask); protected slots: - void on_lookInComboBox_activated(const QString&); - void on_upToolButton_clicked(); - void on_fileListView_doubleClicked(const QModelIndex&); - void on_fileNameLineEdit_returnPressed(); - void on_addPushButton_clicked(); + void on_lookInComboBox_activated(const QString&); + void on_upToolButton_clicked(); + void on_fileListView_doubleClicked(const QModelIndex&); + void on_fileNameLineEdit_returnPressed(); + void on_addPushButton_clicked(); void on_listToolButton_toggled(bool); void on_iconToolButton_toggled(bool); signals: diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro b/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro deleted file mode 100644 index d9b8a96df..000000000 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro +++ /dev/null @@ -1,28 +0,0 @@ -QMMPROOT = ../../../qmmp - -INCLUDEPATH += $$QMMPROOT/src -INCLUDEPATH += $$QMMPROOT/lib - -HEADERS += qmmpfiledialog.h \ - qmmpfiledialogimpl.h \ - $$QMMPROOT/src/filedialog.h \ - $$QMMPROOT/src/playlistmodel.h - -SOURCES += qmmpfiledialog.cpp \ - qmmpfiledialogimpl.cpp \ - $$QMMPROOT/src/filedialog.cpp \ - $$QMMPROOT/src/playlistmodel.cpp - - -FORMS += qmmpfiledialog.ui - -RESOURCES += images/images.qrc - -DESTDIR = ../ -QMAKE_CLEAN += ../libqmmpfiledialog.so - - -CONFIG += release warn_on plugin - -TEMPLATE = lib - diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png Binary files differdeleted file mode 100644 index 5d966a77b..000000000 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png +++ /dev/null diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png Binary files differdeleted file mode 100644 index 2e552a425..000000000 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png +++ /dev/null diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc deleted file mode 100644 index c194a6b91..000000000 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE RCC> -<RCC version="1.0"> - <qresource> - <file>cdup.png</file> - <file>detail.png</file> - <file>list.png</file> - </qresource> -</RCC> diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png Binary files differdeleted file mode 100644 index 13b44a620..000000000 --- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png +++ /dev/null diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index b14a5fc4b..2058ad53a 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -5,5 +5,6 @@ SUBDIRS += Input \ Effect \ General \ PlaylistFormats \ - CommandLineOptions + CommandLineOptions \ + FileDialogs TEMPLATE = subdirs |
