[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdevplatform/plugins/standardoutputview
From: Andreas Pakulat <apaku () gmx ! de>
Date: 2008-04-29 21:48:36
Message-ID: 1209505716.913665.823.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 802580 by apaku:
Add navigational actions to history view.
M +48 -4 outputwidget.cpp
M +8 -0 outputwidget.h
--- trunk/KDE/kdevplatform/plugins/standardoutputview/outputwidget.cpp #802579:802580
@@ -31,6 +31,7 @@
#include <QtGui/QVBoxLayout>
#include <QtGui/QStackedWidget>
#include <kmenu.h>
+#include <kaction.h>
#include <kdebug.h>
#include <klocale.h>
#include <kicon.h>
@@ -58,6 +59,13 @@
{
stackwidget = new QStackedWidget( this );
layout->addWidget( stackwidget );
+
+ previousAction = new KAction( KIcon( "go-previous" ), i18n("Previous"), this \
); + connect(previousAction, SIGNAL(triggered()), this, \
SLOT(previousOutput())); + addAction(previousAction);
+ nextAction = new KAction( KIcon( "go-next" ), i18n("Next"), this );
+ connect(nextAction, SIGNAL(triggered()), this, SLOT(nextOutput()));
+ addAction(nextAction);
}
connect( data, SIGNAL( outputAdded( int ) ),
@@ -74,6 +82,7 @@
changeModel( id );
changeDelegate( id );
}
+ enableActions();
}
void OutputWidget::addOutput( int id )
@@ -82,6 +91,7 @@
setCurrentWidget( listview );
connect( data->outputdata.value(id), SIGNAL(modelChanged(int)), this, \
SLOT(changeModel(int)));
connect( data->outputdata.value(id), SIGNAL(delegateChanged(int)), this, \
SLOT(changeDelegate(int))); + enableActions();
}
void OutputWidget::setCurrentWidget( QListView* view )
@@ -150,6 +160,7 @@
}
emit outputRemoved( data->toolViewId, id );
}
+ enableActions();
}
void OutputWidget::closeActiveView()
@@ -168,6 +179,7 @@
}
}
}
+ enableActions();
}
QWidget* OutputWidget::currentWidget()
@@ -252,9 +264,9 @@
QListView* OutputWidget::createListView(int id)
{
+ QListView* listview = 0;
if( !views.contains(id) )
{
- QListView* listview = 0;
if( data->type & KDevelop::IOutputView::MultipleView || data->type & \
KDevelop::IOutputView::HistoryView ) {
kDebug(9500) << "creating listview";
@@ -293,11 +305,12 @@
}
changeModel( id );
changeDelegate( id );
- return listview;
} else
{
- return views.value(id);
+ listview = views.value(id);
}
+ enableActions();
+ return listview;
}
void OutputWidget::raiseOutput(int id)
@@ -316,10 +329,41 @@
int idx = stackwidget->indexOf( views.value(id) );
if( idx >= 0 )
{
- tabwidget->setCurrentIndex( idx );
+ stackwidget->setCurrentIndex( idx );
}
}
}
+ enableActions();
}
+void OutputWidget::nextOutput()
+{
+ if( stackwidget && stackwidget->currentIndex() < stackwidget->count()-1 )
+ {
+ stackwidget->setCurrentIndex( stackwidget->currentIndex()+1 );
+ }
+ enableActions();
+}
+
+void OutputWidget::previousOutput()
+{
+ if( stackwidget && stackwidget->currentIndex() > 0 )
+ {
+ stackwidget->setCurrentIndex( stackwidget->currentIndex()-1 );
+ }
+ enableActions();
+}
+
+void OutputWidget::enableActions()
+{
+ if( data->type == KDevelop::IOutputView::HistoryView )
+ {
+ Q_ASSERT(stackwidget);
+ Q_ASSERT(nextAction);
+ Q_ASSERT(previousAction);
+ previousAction->setEnabled( ( stackwidget->currentIndex() > 0 ) );
+ nextAction->setEnabled( ( stackwidget->currentIndex() < stackwidget->count() \
- 1 ) ); + }
+}
+
#include "outputwidget.moc"
--- trunk/KDE/kdevplatform/plugins/standardoutputview/outputwidget.h #802579:802580
@@ -32,6 +32,7 @@
class ToolViewData;
class KTabWidget;
class QModelIndex;
+class KAction;
class OutputWidget : public QWidget
{
@@ -51,16 +52,23 @@
Q_SIGNALS:
void outputRemoved( int, int );
+
+private slots:
+ void nextOutput();
+ void previousOutput();
private:
QListView* createListView(int id);
void setCurrentWidget( QListView* view );
QWidget* currentWidget();
+ void enableActions();
QMap<int, QListView*> views;
KTabWidget* tabwidget;
QStackedWidget* stackwidget;
ToolViewData* data;
QToolButton* m_closeButton;
+ KAction* nextAction;
+ KAction* previousAction;
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic