changeset 13361:67ffdb3264a6

Refactored code in QTerminalWidget.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Thu, 07 Apr 2011 12:32:15 +0200
parents 28160d541ddb
children c3446170dbc3
files gui//QTerminalWidget.cpp gui//QTerminalWidget.h gui//Quint
diffstat 3 files changed, 25 insertions(+), 68 deletions(-) [+]
line wrap: on
line diff
--- a/gui//QTerminalWidget.cpp	Thu Apr 07 12:17:53 2011 +0200
+++ b/gui//QTerminalWidget.cpp	Thu Apr 07 12:32:15 2011 +0200
@@ -23,18 +23,12 @@
 
 using namespace Konsole;
 
-void *createTermWidget(int startnow, void *parent)
-{ 
-    return (void*) new QTerminalWidget(startnow, (QWidget*)parent);
-}
-
 struct TermWidgetImpl
 {
     TermWidgetImpl(QWidget* parent = 0);
 
     TerminalDisplay *m_terminalDisplay;
     Session *m_session;
-    
     Session* createSession();
     TerminalDisplay* createTerminalDisplay(Session *session, QWidget* parent);
 };
@@ -45,50 +39,38 @@
     this->m_terminalDisplay = createTerminalDisplay(this->m_session, parent);
 }
 
-
 Session *TermWidgetImpl::createSession()
 {
     Session *session = new Session();
-
-    session->setTitle(Session::NameRole, "QTermWidget");
+    session->setTitle(Session::NameRole, "QTerminalWidget");
     session->setProgram("/bin/bash");
-    QStringList args("");
-    session->setArguments(args);
+    session->setArguments(QStringList());
     session->setAutoClose(true);
-		    
     session->setCodec(QTextCodec::codecForName("UTF-8"));
-			
     session->setFlowControlEnabled(true);
     session->setHistoryType(HistoryTypeBuffer(1000));
-    
     session->setDarkBackground(true);
-	    
     session->setKeyBindings("");	    
     return session;
 }
 
 TerminalDisplay *TermWidgetImpl::createTerminalDisplay(Session *session, QWidget* parent)
 {
-//    TerminalDisplay* display = new TerminalDisplay(this);
     TerminalDisplay* display = new TerminalDisplay(parent);
-    
     display->setBellMode(TerminalDisplay::NotifyBell);
     display->setTerminalSizeHint(true);
     display->setTripleClickMode(TerminalDisplay::SelectWholeLine);
     display->setTerminalSizeStartup(true);
-
     display->setRandomSeed(session->sessionId() * 31);
-    
     return display;
 }
 
-
 QTerminalWidget::QTerminalWidget(int startnow, QWidget *parent)
-:QWidget(parent)
+    :QWidget(parent)
 {
     m_impl = new TermWidgetImpl(this);
     
-    init();
+    initialize();
 
     if (startnow && m_impl->m_session) {
 	m_impl->m_session->run();
@@ -108,7 +90,7 @@
     m_impl->m_session->run();
 }
 
-void QTerminalWidget::init()
+void QTerminalWidget::initialize()
 {    
     m_impl->m_terminalDisplay->setSize(80, 40);
     
@@ -124,13 +106,11 @@
     connect(m_impl->m_session, SIGNAL(finished()), this, SLOT(sessionFinished()));
 }
 
-
 QTerminalWidget::~QTerminalWidget()
 {
     emit destroyed();
 }
 
-
 void QTerminalWidget::setTerminalFont(QFont &font)
 {
     if (!m_impl->m_terminalDisplay)
@@ -159,20 +139,18 @@
     m_impl->m_session->setCodec(codec);	
 }
 
-void QTerminalWidget::setColorScheme(int scheme)
+void QTerminalWidget::setColorScheme(ColorScheme scheme)
 {
     switch(scheme) {
-	case COLOR_SCHEME_WHITE_ON_BLACK:
+        case WhiteOnBlack:
 		m_impl->m_terminalDisplay->setColorTable(whiteonblack_color_table);
 		break;		
-	case COLOR_SCHEME_GREEN_ON_BLACK:
+        case GreenOnBlack:
 		m_impl->m_terminalDisplay->setColorTable(greenonblack_color_table);
 		break;
-	case COLOR_SCHEME_BLACK_ON_LIGHT_YELLOW:
+        case BlackOnLightYellow:
 		m_impl->m_terminalDisplay->setColorTable(blackonlightyellow_color_table);
 		break;
-	default: //do nothing
-	    break;
     };
 }
 
@@ -205,7 +183,6 @@
 
 void QTerminalWidget::resizeEvent(QResizeEvent*)
 {
-//qDebug("global window resizing...with %d %d", this->size().width(), this->size().height());
     m_impl->m_terminalDisplay->resize(this->size());
 }
 
@@ -216,6 +193,4 @@
     emit finished();
 }
 
-	
-//#include "moc_consoleq.cpp"
 
--- a/gui//QTerminalWidget.h	Thu Apr 07 12:17:53 2011 +0200
+++ b/gui//QTerminalWidget.h	Thu Apr 07 12:32:15 2011 +0200
@@ -17,42 +17,33 @@
 */
 						    
 
-#ifndef _Q_TERM_WIDGET
-#define _Q_TERM_WIDGET
+#ifndef QTERMINALWIDGET_H
+#define QTERMINALWIDGET_H
 
 #include <QtGui>
 
 struct TermWidgetImpl;
-
-enum COLOR_SCHEME {     COLOR_SCHEME_WHITE_ON_BLACK	= 1,
-		        COLOR_SCHEME_GREEN_ON_BLACK,
-		        COLOR_SCHEME_BLACK_ON_LIGHT_YELLOW };
-
 class QTerminalWidget : public QWidget
 {
     Q_OBJECT
 public:
-    
-    enum ScrollBarPosition
-    {
-        /** Do not show the scroll bar. */
-        NoScrollBar=0,
-        /** Show the scroll bar on the left side of the display. */
-        ScrollBarLeft=1,
-        /** Show the scroll bar on the right side of the display. */
-        ScrollBarRight=2
+    enum ColorScheme {
+        WhiteOnBlack,
+        GreenOnBlack,
+        BlackOnLightYellow
     };
 
+    enum ScrollBarPosition
+    {
+        NoScrollBar,
+        ScrollBarLeft,
+        ScrollBarRight
+    };
 
-    //Creation of widget
-    QTerminalWidget(int startnow = 1, //start shell programm immediatelly
-		QWidget *parent = 0);
+    QTerminalWidget(int startnow = 1, QWidget *parent = 0);
     ~QTerminalWidget();
 
-    //start shell program if it was not started in constructor
     void startShellProgram();
-    
-    //look-n-feel, if you don`t like defaults
 
     //	Terminal font
     // Default is application font with family Monospace, size 10
@@ -68,7 +59,7 @@
     void setTextCodec(QTextCodec *codec);
 
     //Color scheme, default is white on black
-    void setColorScheme(int scheme);
+    void setColorScheme(ColorScheme scheme);
     
     //set size
     void setSize(int h, int v);
@@ -92,17 +83,8 @@
     void sessionFinished();        
     
 private:
-    void init();    
+    void initialize();
     TermWidgetImpl *m_impl;
 };
 
-
-//Maybe useful, maybe not
-
-#ifdef __cplusplus
-extern "C"
-#endif
-void *createTermWidget(int startnow, void *parent); 
-
-#endif
-
+#endif // QTERMINALWIDGET_H
Binary file gui//Quint has changed