[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdewebdev/quanta/messages
From: Michal Rudolf <mrudolf () kdewebdev ! org>
Date: 2004-04-06 13:29:40
Message-ID: 20040406132940.D852499F5 () office ! kde ! org
[Download RAW message or body]
CVS commit by mrudolf:
Fixes bug #74625: cannot copy text from "Message output" window
M +23 -2 messageoutput.cpp 1.29
M +11 -4 messageoutput.h 1.18
--- kdewebdev/quanta/messages/messageoutput.cpp #1.28:1.29
@@ -18,4 +18,7 @@
#include <klocale.h>
#include <kdebug.h>
+#include <kapplication.h>
+#include <qpopupmenu.h>
+#include <qclipboard.h>
#include "messageoutput.h"
@@ -25,5 +28,5 @@ MessageOutput::MessageOutput(QWidget *pa
: QListBox(parent,name)
{
- max_items = 200;
+ m_maxItems = 200;
QPalette pal = palette();
@@ -33,5 +36,11 @@ MessageOutput::MessageOutput(QWidget *pa
setFocusPolicy( NoFocus );
+ m_popupMenu = new QPopupMenu(this);
+ m_popupMenu->insertItem( i18n("Copy"), this, SLOT(copyContent()) ) ;
+
connect( this, SIGNAL(selected(QListBoxItem*)), SLOT(clickItem(QListBoxItem*)) );
+ connect(this, SIGNAL(contextMenuRequested(QListBoxItem*, const QPoint&)),
+ this, SLOT(showMenu(QListBoxItem*, const QPoint&)));
+
}
@@ -79,5 +88,5 @@ void MessageOutput::showMessage(const QS
void MessageOutput::checkMaxItems()
{
- if ( count() >= max_items )
+ if ( count() >= m_maxItems )
removeItem( index(firstItem()) );
}
@@ -93,4 +102,16 @@ void MessageOutput::clickItem( QListBoxI
}
+void MessageOutput::showMenu( QListBoxItem*, const QPoint& l_point )
+{
+ m_popupMenu->exec(l_point);
+}
+
+void MessageOutput::copyContent()
+{
+ QString content;
+ for (int i=0; i<count(); i++)
+ content.append(text(i) + "\n");
+ kapp->clipboard()->setText(content, QClipboard::Clipboard);
+}
#include "messageoutput.moc"
--- kdewebdev/quanta/messages/messageoutput.h #1.17:1.18
@@ -22,4 +22,5 @@
class KProcess;
+class QPopupMenu;
/**class for displaing of
@@ -40,9 +42,11 @@ public slots:
void showMessage(const QString& s );
void addToLastItem(const QString& s );
+ // Copy message content to clipboard
+ void copyContent();
public:
- uint maxItems() const { return max_items; }
- void setMaxItems( uint items ) { max_items = items; }
- /** remove first items , if count > max_items */
+ uint maxItems() const { return m_maxItems; }
+ void setMaxItems( uint items ) { m_maxItems = items; }
+ /** remove first items , if count > m_maxItem */
void checkMaxItems();
@@ -52,7 +56,10 @@ signals:
protected slots:
void clickItem( QListBoxItem *);
+ // Show context menu
+ void showMenu(QListBoxItem*, const QPoint& );
private:
- uint max_items;
+ uint m_maxItems;
+ QPopupMenu* m_popupMenu;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic