[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>&amp;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