[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdemultimedia/noatun/modules/splitplaylist
From: Stefan Gehn <mETz81 () web ! de>
Date: 2007-02-05 2:00:47
Message-ID: 1170640847.963461.17090.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 630326 by metz:
- Give small Krazy a lollipop so it stops crying ;)
- Make "Add Files" file dialog look nice
- Finder can find things again
- Clean menu and toolbar, unfortunately renaming the file menu to "Playlist" does not \
have any effect (XMLGUI bug?)
M +12 -7 find.cpp
M +4 -4 find.h
M +13 -5 playlist.cpp
M +17 -14 playlist.h
M +11 -21 splui.rc
M +56 -52 view.cpp
M +18 -12 view.h
--- trunk/KDE/kdemultimedia/noatun/modules/splitplaylist/find.cpp #630325:630326
@@ -1,26 +1,30 @@
+
#include "find.h"
+
#include <qlayout.h>
#include <kcombobox.h>
-#include <qpushbutton.h>
#include <qcheckbox.h>
#include <klocale.h>
Finder::Finder(QWidget *parent) : KDialog(parent)
{
+ setButtons(KDialog::Close | KDialog::User1);
+ setDefaultButton(KDialog::User1);
+ setButtonText(KDialog::User1, i18n("&Find"));
+
QWidget *mainWidget = new QWidget(this);
mainWidget->setMinimumWidth(320);
setMainWidget(mainWidget);
- QGridLayout *layout=new QGridLayout(mainWidget);
+ QGridLayout *layout = new QGridLayout(mainWidget);
layout->setSpacing(KDialog::spacingHint());
- mText=new KHistoryCombo(mainWidget);
+ mText = new KHistoryCombo(mainWidget);
mText->setMaxCount(10);
-
mText->setFocus();
- mRegexp=new QCheckBox(i18n("&Regular expression"), mainWidget);
- mBackwards=new QCheckBox(i18n("Find &backwards"), mainWidget);
+ mRegexp = new QCheckBox(i18n("&Regular expression"), mainWidget);
+ mBackwards = new QCheckBox(i18n("Find &backwards"), mainWidget);
layout->addWidget(mText, 0, 0, 0, 1);
layout->addWidget(mRegexp, 1, 0);
@@ -34,7 +38,8 @@
enableButton(User1, false);
}
-void Finder::textChanged(const QString &text) {
+void Finder::textChanged(const QString &text)
+{
enableButton(User1, !text.isEmpty());
}
--- trunk/KDE/kdemultimedia/noatun/modules/splitplaylist/find.h #630325:630326
@@ -11,19 +11,19 @@
{
Q_OBJECT
public:
- Finder(QWidget *parent);
+ explicit Finder(QWidget *parent);
bool regexp() const;
bool isForward() const;
QString string() const;
-signals:
+Q_SIGNALS:
void search(Finder *);
-public slots:
+public Q_SLOTS:
void textChanged(const QString &);
void clicked();
-
+
private:
KHistoryCombo *mText;
QCheckBox *mRegexp, *mBackwards;
--- trunk/KDE/kdemultimedia/noatun/modules/splitplaylist/playlist.cpp #630325:630326
@@ -1,15 +1,23 @@
+/* This file is part of Noatun
+
+ Copyright (C) 2000-2006 Charles Samuels <charles@kde.org>
+ Copyright (C) 2000-2001 Neil Stevens <neil@qualityassistant.com>
+ Copyright (C) 2002 by Ryan Cumming <ryan@kde.org>
+ Copyright (C) 2003-2007 by Stefan Gehn <mETz81@web.de>
+
+ Licensed under the "Artistic License"
+*/
#include "playlist.h"
#include "view.h"
+
#include <noatun/player.h>
#include <noatun/global.h>
#include <kapplication.h>
-#include <krandomsequence.h>
#include <kdebug.h>
-#include <kwin.h>
-
+#include <kgenericfactory.h>
#include <kiconloader.h>
-#include <kgenericfactory.h>
+#include <krandomsequence.h>
#include <cassert>
using namespace Noatun;
@@ -299,7 +307,7 @@
currentItem->showPlaying(false);
currentItem=i;
-
+
if(i)
i->showPlaying(true);
}
--- trunk/KDE/kdemultimedia/noatun/modules/splitplaylist/playlist.h #630325:630326
@@ -1,6 +1,15 @@
-#ifndef PLAYLIST_H
-#define PLAYLIST_H
+/* This file is part of Noatun
+ Copyright (C) 2000-2006 Charles Samuels <charles@kde.org>
+ Copyright (C) 2000-2001 Neil Stevens <neil@qualityassistant.com>
+ Copyright (C) 2002 by Ryan Cumming <ryan@kde.org>
+ Copyright (C) 2003-2007 by Stefan Gehn <mETz81@web.de>
+
+ Licensed under the "Artistic License"
+*/
+#ifndef SPL_PLAYLIST_H
+#define SPL_PLAYLIST_H
+
#include <noatun/playlist.h>
#include <noatun/plugin.h>
#include <noatun/plugininterfaces.h>
@@ -36,8 +45,8 @@
class SplitPlaylist : public Noatun::Plugin, public \
Noatun::PlaylistInterface<ItemData*>, public Noatun::ItemSourceInterface {
- Q_OBJECT
- friend class SafeListViewItem;
+Q_OBJECT
+friend class SafeListViewItem;
public:
SplitPlaylist(const KComponentData &instance, Noatun::Global *parent, const char* \
name); @@ -146,26 +155,20 @@
**/
bool streamable(ItemData *data);
-
-
-public slots:
+public Q_SLOTS:
virtual void remove(const Noatun::PlaylistItem&);
virtual void sort();
-public slots:
+public Q_SLOTS:
void setCurrent(SafeListViewItem *item, bool emitC);
void listItemSelected(Q3ListViewItem*);
void randomize();
+Q_SIGNALS:
+ void play(Noatun::PlaylistItem *);
-
private:
SafeListViewItem *currentItem, *randomPrevious;
-
-signals:
- void play(Noatun::PlaylistItem *);
-
-private:
bool mExiting;
View *mView;
static SplitPlaylist *Self;
--- trunk/KDE/kdemultimedia/noatun/modules/splitplaylist/splui.rc #630325:630326
@@ -1,30 +1,20 @@
<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<gui name="SPL" version="2">
+<gui name="splitplaylist" version="3">
<MenuBar>
- <Menu name="file">
- <Action name="add_files" />
- <Action name="add_dir" />
+ <Menu name="file"><text>&Playlist</text>
+ <Action name="file_add_files"/>
+ <Action name="file_add_dir"/>
</Menu>
-
<Menu name="edit">
- <Action name="delete" />
- <Action name="clear" />
- <Separator />
- <Action name="shuffle" />
- <Separator />
+ <Action name="edit_delete"/>
+ <Separator/>
+ <Action name="shuffle"/>
+ <Separator/>
</Menu>
</MenuBar>
- <ToolBar noMerge="1" name="mainToolBar"><text>Main Toolbar</text>
- <Action name="add_files" />
- <Action name="add_dir" />
- <Separator />
- <Action name="delete" />
- <Separator />
- <Action name="file_open" />
- <Action name="file_save" />
- <Action name="file_save_as" />
- <Separator />
- <Action name="edit_find" />
+ <ToolBar name="mainToolBar">
+ <Action name="file_add_files"/>
+ <Action name="file_add_dir"/>
</ToolBar>
</kpartgui>
--- trunk/KDE/kdemultimedia/noatun/modules/splitplaylist/view.cpp #630325:630326
@@ -1,16 +1,19 @@
-/**
- * Copyright (c) 2000-2004 Charles Samuels <charles@kde.org>
- * 2000-2001 Neil Stevens <neil@qualityassistant.com>
- *
- * Copyright (c) from the patches of:
- * 2001 Klas Kalass <klas.kalass@gmx.de>
- * 2001 Anno v. Heimburg <doktor.dos@gmx.de>
- **/
+/* This file is part of Noatun
+ Copyright (C) 2000-2006 Charles Samuels <charles@kde.org>
+ Copyright (C) 2000-2001 Neil Stevens <neil@qualityassistant.com>
+ Copyright (C) 2002 by Ryan Cumming <ryan@kde.org>
+ Copyright (C) 2003-2007 by Stefan Gehn <mETz81@web.de>
+ Copyright (c) from the patches of:
+ 2001 Klas Kalass <klas.kalass@gmx.de>
+ 2001 Anno v. Heimburg <doktor.dos@gmx.de>
+
+ Licensed under the "Artistic License"
+*/
+
// Abandon All Hope, Ye Who Enter Here
-//#include <qdragobject.h>
#include <q3header.h>
#include <qlayout.h>
#include <qmap.h>
@@ -27,12 +30,11 @@
#include <kio/job.h>
#include <kio/netaccess.h>
#include <klocale.h>
-#include <kmenubar.h>
+#include <kpushbutton.h>
#include <ksimpleconfig.h>
#include <kstandarddirs.h>
#include <kstandardaction.h>
#include <kedittoolbar.h>
-//#include <kurldrag.h>
#include <k3tempfile.h>
#include <kmessagebox.h>
#include <kiconloader.h>
@@ -663,6 +665,8 @@
kDebug(66666) << k_funcinfo << "BEGIN" << endl;
setStandardToolBarMenuEnabled(true);
+ mFinder = new Finder(this);
+
list = new List(this);
setCentralWidget(list);
@@ -670,51 +674,49 @@
// connect the click on the header with sorting
connect(list->header(),SIGNAL(clicked(int)),this,SLOT(headerClicked(int)) );
- mOpen = new KAction(actionCollection());
- actionCollection()->addAction("add_files", mOpen);
- mOpen->setText(i18n("Add &Files..."));
- mOpen->setIcon(KIcon("queue"));
- connect(mOpen, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)),
- this, SLOT(addFiles()));
+ // --- "Playlist" menu ---
+ mOpenNew = KStandardAction::openNew(this, SLOT(openNew()), actionCollection());
+ mOpenpl = KStandardAction::open(this, SLOT(open()), actionCollection());
+ mSave = KStandardAction::save(this, SLOT(save()), actionCollection());
+ mSaveAs = KStandardAction::saveAs(this, SLOT(saveAs()), actionCollection());
+
+ KAction *addFiles = new KAction(actionCollection());
+ addFiles->setText(i18n("Add &Files..."));
+ addFiles->setIcon(KIcon("add"));
+ connect(addFiles, SIGNAL(triggered()), SLOT(addFiles()));
+ actionCollection()->addAction("file_add_files", addFiles);
+
KAction *addFld = new KAction(actionCollection());
- actionCollection()->addAction("add_dir", addFld);
- addFld->setText(i18n("Add Fol&ders..."));
- addFld->setIcon(KIcon("folder"));
- connect(addFld, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)),
- this, SLOT(addDirectory()));
+ addFld->setText(i18n("Add Fol&der..."));
+ addFld->setIcon(KIcon("folder")); //TODO: folder_add icon needed
+ connect(addFld, SIGNAL(triggered()), SLOT(addDirectory()));
+ actionCollection()->addAction("file_add_dir", addFld);
+ KStandardAction::close(this, SLOT(close()), actionCollection());
+
+ // --- "Edit" menu ---
+
mDelete = new KAction(actionCollection());
- actionCollection()->addAction("delete", mDelete);
mDelete->setText(i18n("Delete"));
mDelete->setIcon(KIcon("editdelete"));
- connect(mDelete, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)),
- this, SLOT(deleteSelected()));
+ connect(mDelete, SIGNAL(triggered()), SLOT(deleteSelected()));
+ actionCollection()->addAction("edit_delete", mDelete);
- mClose = KStandardAction::close(this, SLOT(close()), actionCollection());
- mFind = KStandardAction::find(this, SLOT(find()), actionCollection());
- mOpenNew = KStandardAction::openNew(this, SLOT(openNew()), actionCollection());
- mOpenpl = KStandardAction::open(this, SLOT(open()), actionCollection());
- mSave = KStandardAction::save(this, SLOT(save()), actionCollection());
- mSaveAs = KStandardAction::saveAs(this, SLOT(saveAs()), actionCollection());
+ KStandardAction::find(this, SLOT(find()), actionCollection());
+ KStandardAction::clear(list, SLOT(clear()), actionCollection());
KAction *shuf = new KAction(actionCollection());
- actionCollection()->addAction("shuffle", shuf);
shuf->setText(i18n("Shuffle"));
shuf->setIcon(KIcon("misc"));
connect(shuf, SIGNAL(triggered()), SPL, SLOT(randomize()));
+ actionCollection()->addAction("shuffle", shuf);
+ // ---
- KAction *clr = new KAction(actionCollection());
- actionCollection()->addAction("clear", clr);
- clr->setText(i18n("Clear"));
- clr->setIcon(KIcon("editclear"));
- connect(clr, SIGNAL(triggered(Qt::MouseButtons,Qt::KeyboardModifiers)),
- this, SLOT(clear()));
+ //TODO: use standard name for rc-file
setupGUI(ToolBar | Save | Create, "noatun/splui.rc");
- mFinder = new Finder(this);
-
applyMainWindowSettings(KGlobal::config().data(), "SPL Window");
list->setFocus();
@@ -917,7 +919,7 @@
void List::clear()
{
- //kDebug(66666) << k_funcinfo << "Clearing all items" << endl;
+ kDebug(66666) << k_funcinfo << "Clearing all items" << endl;
SPL->setCurrent(0, false);
// We cannot use QListView::clear() in here as this would delete all
@@ -971,13 +973,20 @@
const QStringList types = Noatun::PlaylistSaver::mimetypes() +
SPL->Plugin::global()->player()->mimeTypes();
- const KUrl::List files = KFileDialog::getOpenUrls(
- KUrl("kfiledialog:///splitplaylistdir") /*startdir*/,
- types.join(" ") /*filter*/,
- this /*parent*/,
- i18n("Select File(s) to add") /*caption*/);
+ kDebug(66666) << k_funcinfo << endl;
- foreach(const KUrl &u, files)
+ KFileDialog dlg(KUrl("kfiledialog:///splitplaylistdir"), QString()/*types.join(" \
")*/, this); + dlg.setOperationMode(KFileDialog::Opening);
+ dlg.setMimeFilter(types);
+ dlg.setWindowTitle(i18n("Select File(s) to Add"));
+ dlg.setMode(KFile::Files);
+ dlg.okButton()->setText(i18n("&Add"));
+
+ kDebug(66666) << k_funcinfo << "Executing KFileDialog..." << endl;
+
+ dlg.exec();
+
+ foreach(const KUrl &u, dlg.selectedUrls())
addFile(u, false);
setModified(true);
@@ -998,11 +1007,6 @@
setModified(true);
}
-/*void View::closeEvent(QCloseEvent*)
-{
- hide();
-}*/
-
void View::setModified(bool b)
{
modified = b;
--- trunk/KDE/kdemultimedia/noatun/modules/splitplaylist/view.h #630325:630326
@@ -1,3 +1,12 @@
+/* This file is part of Noatun
+
+ Copyright (C) 2000-2006 Charles Samuels <charles@kde.org>
+ Copyright (C) 2000-2001 Neil Stevens <neil@qualityassistant.com>
+ Copyright (C) 2002 by Ryan Cumming <ryan@kde.org>
+ Copyright (C) 2003-2007 by Stefan Gehn <mETz81@web.de>
+
+ Licensed under the "Artistic License"
+*/
#ifndef VIEW_H
#define VIEW_H
@@ -75,7 +84,7 @@
Q_OBJECT
friend class View;
public:
- List(View *parent);
+ explicit List(View *parent);
virtual ~List();
Q3ListViewItem *openGlobal(const KUrl&, Q3ListViewItem * =0);
@@ -86,10 +95,10 @@
SafeListViewItem *firstChild() { return \
static_cast<SafeListViewItem*>(K3ListView::firstChild()); }
-public slots:
+public Q_SLOTS:
virtual void clear();
-signals:
+Q_SIGNALS:
void modified(void);
void deleteCurrentItem();
@@ -97,11 +106,11 @@
virtual bool acceptDrag(QDropEvent *event) const;
virtual void keyPressEvent(QKeyEvent *e);
-protected slots:
+protected Q_SLOTS:
virtual void dropEvent(QDropEvent *event, Q3ListViewItem *after);
void move();
-protected slots:
+protected Q_SLOTS:
// used when adding directories via KIO::listRecursive
void slotResult(KJob *job);
void slotEntries(KIO::Job *job, const KIO::UDSEntryList &entries);
@@ -122,7 +131,7 @@
{
Q_OBJECT
public:
- View(Noatun::Plugin *mother);
+ explicit View(Noatun::Plugin *mother);
// load the SM playlist
void init();
virtual ~View();
@@ -130,7 +139,7 @@
Q3ListViewItem *addFile(const KUrl &u, bool play=false)
{ return list->addFile(u, play, list->lastItem()); }
-public slots:
+public Q_SLOTS:
void deleteSelected();
void addFiles();
void addDirectory();
@@ -143,7 +152,7 @@
void headerClicked(int column);void find();
void findIt(Finder *);
-private slots:
+private Q_SLOTS:
void setModified();
void saveState();
@@ -157,13 +166,10 @@
void exportTo(const KUrl &);
void setModified(bool);
- //virtual void closeEvent(QCloseEvent*e);
private:
List *list;
- KAction *mOpen, *mDelete, *mSave, *mSaveAs, *mOpenpl, *mOpenNew;
- KAction *mClose;
- KAction *mFind;
+ KAction *mAdd, *mDelete, *mSave, *mSaveAs, *mOpenpl, *mOpenNew;
Finder *mFinder;
KUrl mPlaylistFile;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic