[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kmuddy] /: more qt5/kf5 migration
From:       Tomas Mecir <null () kde ! org>
Date:       2018-03-31 19:47:15
Message-ID: E1f2MT5-0001ET-Mq () code ! kde ! org
[Download RAW message or body]

Git commit c334e201f1daa516533db54b6bce6daa79a8ab78 by Tomas Mecir.
Committed on 31/03/2018 at 19:46.
Pushed by mecir into branch 'master'.

more qt5/kf5 migration

M  +9    -10   CMakeLists.txt
R  +-    --    kmuddy/16-apps-kmuddy.png [from: kmuddy/hi16-app-kmuddy.png - 100% \
similarity] R  +-    --    kmuddy/32-apps-kmuddy.png [from: \
kmuddy/hi32-app-kmuddy.png - 100% similarity] M  +14   -4    kmuddy/CMakeLists.txt
M  +0    -1    kmuddy/ctelnet.h
M  +3    -3    kmuddy/ctrigger.h
M  +2    -2    kmuddy/dialogs/CMakeLists.txt
M  +0    -1    kmuddy/dialogs/dlgobjects.cpp
M  +0    -2    kmuddy/kmuddy.cpp
M  +5    -9    kmuddy/main.cpp
M  +3    -3    libs/CMakeLists.txt
M  +3    -3    libs/calias.h
M  +1    -1    libs/caliaseditor.cpp
M  +3    -3    libs/caliaseditor.h
M  +3    -3    libs/caliaslist.h
M  +10   -26   libs/cconsole.cpp
M  +7    -7    libs/cconsole.h
M  +2    -2    libs/cexpresolver.h
M  +0    -2    libs/cinputline.cpp
M  +0    -2    libs/clistobject.cpp
M  +1    -1    libs/clistobject.h
M  +13   -0    libs/coutput.cpp
M  +3    -2    libs/coutput.h
M  +0    -2    libs/cpluginmanager.cpp
M  +0    -1    libs/cscripteval.cpp
M  +1    -1    libs/cscripteval.h
M  +0    -1    libs/cstatus.cpp
M  +1    -1    libs/ctextchunk.h
M  +0    -1    plugins/CMakeLists.txt
M  +3    -3    plugins/converter/CMakeLists.txt
M  +4    -4    plugins/mapper/CMakeLists.txt
M  +0    -2    plugins/mapper/cmapview.cpp
M  +0    -1    plugins/mapper/cmapviewstatusbar.cpp
M  +0    -1    plugins/mapper/cmapwidget.h
M  +0    -1    plugins/mapper/dialogs/dlgspeedwalkprogress.cpp
M  +0    -1    plugins/mapper/kmuddy_mapper.cpp
M  +0    -1    plugins/mapper/plugins/standard/propertyPanes/cmapnotespane.h
M  +3    -3    plugins/scripting/CMakeLists.txt
M  +0    -1    plugins/scripting/cscript.cpp
M  +0    -1    plugins/scripting/dlgrunninglist.cpp
M  +3    -3    plugins/strings/CMakeLists.txt
M  +3    -3    plugins/test/CMakeLists.txt
M  +3    -3    plugins/vartrigs/CMakeLists.txt
M  +3    -3    plugins/varviewer/CMakeLists.txt
M  +0    -1    scripting/CMakeLists.txt
M  +3    -3    template/CMakeLists.txt

https://commits.kde.org/kmuddy/c334e201f1daa516533db54b6bce6daa79a8ab78

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5d327aa..dbd64c0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,21 +1,21 @@
 project(kmuddy)
 
-cmake_minimum_required(VERSION 2.8)
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} )
+cmake_minimum_required(VERSION 2.8.12)
 
-find_package(ECM REQUIRED NO_MODULE)
-set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
-
-find_package(Qt5 REQUIRED COMPONENTS Widgets)
-find_package(KF5 CONFIG REQUIRED KCoreAddons I18n KIOCore Phonon)
+find_package(ECM 0.0.10 REQUIRED CONFIG)
+set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR} ${ECM_MODULE_PATH})
 
 include(KDEInstallDirs)
-include(KDECompilerSettings NO_POLICY_SCOPE))
+include(KDECompilerSettings NO_POLICY_SCOPE)
 include(KDECMakeSettings)
 include(FeatureSummary)
 include(KDEFrameworkCompilerSettings)
+include(ECMInstallIcons)
+
+find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Script)
+find_package(KF5 REQUIRED COMPONENTS Config CoreAddons I18n KIO KDELibs4Support \
XmlGui Parts Service)  
-macro_optional_find_package(MXP)
+find_package(MXP)
 if (MXP_FOUND)
   message(STATUS "Found the MXP library at " ${MXP_LIBRARIES})
   set(HAVE_MXP TRUE)
@@ -39,7 +39,6 @@ add_subdirectory( kmuddy )
 add_subdirectory( plugins )
 add_subdirectory( scripting )
 
-include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  )
 
 
 ########### install files ###############
diff --git a/kmuddy/hi16-app-kmuddy.png b/kmuddy/16-apps-kmuddy.png
similarity index 100%
rename from kmuddy/hi16-app-kmuddy.png
rename to kmuddy/16-apps-kmuddy.png
diff --git a/kmuddy/hi32-app-kmuddy.png b/kmuddy/32-apps-kmuddy.png
similarity index 100%
rename from kmuddy/hi32-app-kmuddy.png
rename to kmuddy/32-apps-kmuddy.png
diff --git a/kmuddy/CMakeLists.txt b/kmuddy/CMakeLists.txt
index d63d4c7..df305a4 100644
--- a/kmuddy/CMakeLists.txt
+++ b/kmuddy/CMakeLists.txt
@@ -1,7 +1,7 @@
 
 add_subdirectory( dialogs )
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${CMAKE_CURRENT_BINARY_DIR} \
${KDE4_INCLUDES} ${KDE4_PHONON_INCLUDES} ${QT_INCLUDES} ) +include_directories( \
${CMAKE_SOURCE_DIR}/libs ${CMAKE_CURRENT_BINARY_DIR} )  if (MXP_FOUND)
   include_directories (${MXP_INCLUDE_DIR})
 endif (MXP_FOUND)
@@ -50,8 +50,7 @@ set(kmuddy_SRCS
 
 add_executable(kmuddy ${kmuddy_SRCS})
 
-set (KMUDDY_LIBRARIES kmuddycore dialogs ${KDE4_KDECORE_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KUTILS_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_PHONON_LIBS} ${KDE4_KDE3SUPPORT_LIBS} z \
                )
-
+set (KMUDDY_LIBRARIES kmuddycore dialogs KF5::KDELibs4Support KF5::I18n KF5::Parts z \
)  if (MXP_FOUND)
   set (KMUDDY_LIBRARIES ${KMUDDY_LIBRARIES} ${MXP_LIBRARIES})
 endif (MXP_FOUND)
@@ -61,7 +60,18 @@ target_link_libraries(kmuddy ${KMUDDY_LIBRARIES} )
 install(TARGETS kmuddy DESTINATION ${BIN_INSTALL_DIR})
 
 # install the icons
-ecm_install_icons( ${ICON_INSTALL_DIR} )
+ecm_install_icons(ICONS
+    16-apps-kmuddy.png
+    32-apps-kmuddy.png
+    DESTINATION ${ICON_INSTALL_DIR}
+    THEME hicolor
+)
+ecm_install_icons(ICONS
+    16-apps-kmuddy.png
+    32-apps-kmuddy.png
+    DESTINATION ${ICON_INSTALL_DIR}
+    THEME locolor
+)
 
 install (FILES kmuddy.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
 
diff --git a/kmuddy/ctelnet.h b/kmuddy/ctelnet.h
index 052b499..4d57a4d 100644
--- a/kmuddy/ctelnet.h
+++ b/kmuddy/ctelnet.h
@@ -19,7 +19,6 @@
 #ifndef CTELNET_H
 #define CTELNET_H
 
-#include <QTimer>
 
 #include <list>
 #include <string>
diff --git a/kmuddy/ctrigger.h b/kmuddy/ctrigger.h
index f22afe0..768559a 100644
--- a/kmuddy/ctrigger.h
+++ b/kmuddy/ctrigger.h
@@ -47,13 +47,13 @@ protected:
   cTrigger (cList *list);
 
   /** React on an attribute change by updating the pattern object. */
-  virtual void attribChanged (const QString &name);
+  virtual void attribChanged (const QString &name) override;
 
-  virtual void updateVisibleName();
+  virtual void updateVisibleName() override;
 
 #define TRIGGER_MATCH 1
 
-  virtual cList::TraverseAction traverse (int traversalType);
+  virtual cList::TraverseAction traverse (int traversalType) override;
 
   /** Perform trigger matching. */
   cList::TraverseAction doMatch ();
diff --git a/kmuddy/dialogs/CMakeLists.txt b/kmuddy/dialogs/CMakeLists.txt
index ed35727..ccb2d09 100644
--- a/kmuddy/dialogs/CMakeLists.txt
+++ b/kmuddy/dialogs/CMakeLists.txt
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${CMAKE_SOURCE_DIR}/kmuddy \
${CMAKE_CURRENT_BINARY_DIR} ${KDE4_INCLUDES} ${QT_INCLUDES} ) +include_directories( \
${CMAKE_SOURCE_DIR}/libs ${CMAKE_SOURCE_DIR}/kmuddy ${CMAKE_CURRENT_BINARY_DIR}   )  
 if (MXP_FOUND)
   include_directories (${MXP_INCLUDE_DIR})
@@ -27,7 +27,7 @@ set(dialogs_LIB_SRCS
     dlgobjects.cpp
     dlgmudlist.cpp )
 
-kde4_add_library(dialogs STATIC ${dialogs_LIB_SRCS})
+add_library(dialogs STATIC ${dialogs_LIB_SRCS})
 
 target_link_libraries(dialogs )
 
diff --git a/kmuddy/dialogs/dlgobjects.cpp b/kmuddy/dialogs/dlgobjects.cpp
index 6534917..b2ce8b8 100644
--- a/kmuddy/dialogs/dlgobjects.cpp
+++ b/kmuddy/dialogs/dlgobjects.cpp
@@ -36,7 +36,6 @@ along with this program.  If not, see \
<http://www.gnu.org/licenses/>.  #include <kdebug.h>
 
 #include <QComboBox>
-#include <QGridLayout>
 #include <QSplitter>
 #include <QStackedWidget>
 #include <QStandardItemModel>
diff --git a/kmuddy/kmuddy.cpp b/kmuddy/kmuddy.cpp
index 39a227b..9e94668 100644
--- a/kmuddy/kmuddy.cpp
+++ b/kmuddy/kmuddy.cpp
@@ -60,9 +60,7 @@
 #include <ctime>
 
 #include <qdesktopwidget.h>
-#include <QDockWidget>
 #include <qtimer.h>
-#include <QVBoxLayout>
 #include <QKeyEvent>
 
 #include <kaboutapplicationdialog.h>
diff --git a/kmuddy/main.cpp b/kmuddy/main.cpp
index 9c9e1f8..1f80de0 100644
--- a/kmuddy/main.cpp
+++ b/kmuddy/main.cpp
@@ -16,10 +16,9 @@
  *                                                                         *
  ***************************************************************************/
 
-#include <kcmdlineargs.h>
-#include <kaboutdata.h>
+#include <KAboutData>
 #include <klocale.h>
-#include <kapplication.h>
+#include <QApplication>
 #include <Kdelibs4ConfigMigrator>
 
 #include <signal.h>
@@ -70,9 +69,7 @@ int main(int argc, char *argv[])
       ki18n("Scripting improvements"), "koehnheiko@googlemail.com");
   aboutData.addCredit(ki18n("Robert Marmorstein"),
       ki18n("Systray icon support"), "robertandbeth@gmail.com");
-  KCmdLineArgs::init( argc, argv, &aboutData );
-  KCmdLineOptions options;   // no options at the moment
-  KCmdLineArgs::addCmdLineOptions( options );
+  KAboutData::setApplicationData (aboutData);
 
   //alarm signal is sometimes causing KMuddy to terminate incorrectly
   //when switching tabs using Alt+number - ignoring the signal, hoping
@@ -87,11 +84,10 @@ int main(int argc, char *argv[])
   migrator.setUiFiles(QStringList() << QStringLiteral("kmuddymapperpart.rc"));
   migrator.migrate();
 
-  KApplication a;
-  a.setApplicationName ("KMuddy");
+  KApplication a (argc, argv );
+  QApplication::setApplicationDisplayName(i18n("KMuddy"));
   KMuddy *kmuddy = 0;
 
-
 /*
   if (a.isSessionRestored ())  //session management
     RESTORE(KMuddy); //DOES NOT WORK - we need kmuddy object in the program
diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt
index 4fe39da..9d44bc5 100644
--- a/libs/CMakeLists.txt
+++ b/libs/CMakeLists.txt
@@ -1,5 +1,5 @@
 
-include_directories( ${KDE4_INCLUDES} ${KDE4_PHONON_INCLUDES} ${QT_INCLUDES}
+include_directories( 
    ${CMAKE_CURRENT_SOURCE_DIR}
    ${CMAKE_CURRENT_BINARY_DIR} )
 
@@ -53,10 +53,10 @@ set(kmuddycore_LIB_SRCS
    cscripteval.cpp
    cscripteditor.cpp )
 
-kde4_add_library(kmuddycore SHARED ${kmuddycore_LIB_SRCS})
+add_library(kmuddycore SHARED ${kmuddycore_LIB_SRCS})
 
 # TODO: get rid of the support libs
-target_link_libraries(kmuddycore  ${KDE4_KDECORE_LIBS} ${KDE4_KDEUI_LIBS} \
${KDE4_KUTILS_LIBS} ${KDE4_PHONON_LIBS} ${QT_QTSCRIPT_LIBRARY} \
${KDE4_KDE3SUPPORT_LIBS}) +target_link_libraries(kmuddycore KF5::Service  \
KF5::KDELibs4Support Qt5::Script)  
 set_target_properties(kmuddycore PROPERTIES VERSION 1.0.0 SOVERSION 1 )
 install(TARGETS kmuddycore DESTINATION ${LIB_INSTALL_DIR} )
diff --git a/libs/calias.h b/libs/calias.h
index c826d68..9314469 100644
--- a/libs/calias.h
+++ b/libs/calias.h
@@ -39,14 +39,14 @@ protected:
   friend class cAliasList;
   cAlias (cList *list);
 
-  virtual void updateVisibleName ();
+  virtual void updateVisibleName () override;
 
   /** React on an attribute change by updating the pattern object. */
-  virtual void attribChanged (const QString &name);
+  virtual void attribChanged (const QString &name) override;
 
 #define ALIAS_MATCH 1
 
-  virtual cList::TraverseAction traverse (int traversalType);
+  virtual cList::TraverseAction traverse (int traversalType) override;
 
   /** Perform alias matching. */
   cList::TraverseAction doMatch ();
diff --git a/libs/caliaseditor.cpp b/libs/caliaseditor.cpp
index 54b851d..472cca4 100644
--- a/libs/caliaseditor.cpp
+++ b/libs/caliaseditor.cpp
@@ -41,8 +41,8 @@ along with this program.  If not, see \
<http://www.gnu.org/licenses/>.  #include <klocale.h>
 #include <ktextedit.h>
 
+#include <KServiceTypeTrader>
 #include <kregexpeditorinterface.h>
-#include <kparts/componentfactory.h>
 
 struct cAliasEditor::Private {
   // Basic
diff --git a/libs/caliaseditor.h b/libs/caliaseditor.h
index f180d1e..6d83edf 100644
--- a/libs/caliaseditor.h
+++ b/libs/caliaseditor.h
@@ -33,9 +33,9 @@ class KMUDDY_EXPORT cAliasEditor : public cListEditor {
   cAliasEditor (QWidget *parent);
   ~cAliasEditor ();
 
-  virtual void createGUI(QWidget *parent);
-  virtual void fillGUI (const cListObjectData &data);
-  virtual void getDataFromGUI (cListObjectData *data);
+  virtual void createGUI(QWidget *parent) override;
+  virtual void fillGUI (const cListObjectData &data) override;
+  virtual void getDataFromGUI (cListObjectData *data) override;
  protected slots:
   void updateEditButton (const QString &comboText);
   void editRegExp ();
diff --git a/libs/caliaslist.h b/libs/caliaslist.h
index c24aca4..ee48d68 100644
--- a/libs/caliaslist.h
+++ b/libs/caliaslist.h
@@ -40,9 +40,9 @@ public:
   ~cAliasList ();
 
   static cList *newList () { return new cAliasList; };
-  virtual cListObject *newObject ();
-  virtual QString objName () { return "Alias"; }
-  virtual cListEditor *editor (QWidget *parent);
+  virtual cListObject *newObject () override;
+  virtual QString objName () override { return "Alias"; }
+  virtual cListEditor *editor (QWidget *parent) override;
 
   bool matchString (const QString &string);
   QStringList commandsToExec ();
diff --git a/libs/cconsole.cpp b/libs/cconsole.cpp
index 9be52a7..81421ef 100644
--- a/libs/cconsole.cpp
+++ b/libs/cconsole.cpp
@@ -28,7 +28,6 @@
 #include <QClipboard>
 #include <QEvent>
 #include <QFontMetrics>
-#include <QLayout>
 #include <QMouseEvent>
 #include <QPainter>
 #include <QPixmap>
@@ -109,7 +108,7 @@ inline void swap (int &a, int &b)
 }
 
 cConsole::cConsole (bool auxiliary, QWidget *parent, const char *name) :
-      Q3GridView (parent, name)
+      QTableView (parent, name)
 {
 //  setAttribute (Qt::WA_StaticContents);
 //  setAttribute (Qt::WA_NoBackground);
@@ -133,7 +132,7 @@ cConsole::cConsole (bool auxiliary, QWidget *parent, const char \
*name) :  //connections
   else
     historySize = 100;        //aux. console does not need that big history
-  Q3GridView::setNumCols (1);
+  QTableView::setNumCols (1);
 
   wordWrapping = true;
   indentValue = 0;
@@ -191,13 +190,6 @@ cConsole::cConsole (bool auxiliary, QWidget *parent, const char \
*name) :  addAction (sep2);
   if (fullscreenmode) addAction (fullscreenmode);
 
-  //enable vertical scrollbar, disable the other one
-  setHScrollBarMode (AlwaysOff);
-  if (!aux)
-    setVScrollBarMode (AlwaysOn);
-  else
-    setVScrollBarMode (AlwaysOff);
-
   //create our auxiliary console if needed
   if (!aux)
   {
@@ -206,10 +198,6 @@ cConsole::cConsole (bool auxiliary, QWidget *parent, const char \
*name) :  aconvisible = false;
     aconsize = 25;  //aconsole covers 25% by default
     
-    //and connect() slider so that aconsole is shown/hidden as needed
-    connect (verticalScrollBar (), SIGNAL (sliderMoved (int)), this, SLOT \
                (sliderChanged (int)));
-    connect (verticalScrollBar (), SIGNAL (valueChanged (int)), this, SLOT \
                (sliderChanged (int)));
-    
     //connect some auxiliary console's signals to ours, so that links work correctly
     connect (aconsole, SIGNAL (sendCommand (const QString &)), this,
         SIGNAL (sendCommand (const QString &)));
@@ -281,10 +269,6 @@ void cConsole::setFont (QFont f)
   repaintContents (false);
   if (!aux)
     aconsole->setFont (f);
-
-  //changing font often causes view to move - move to the very bottom
-  if (!aux)
-    verticalScrollBar()->setValue (verticalScrollBar()->maximum());
 }
 
 void cConsole::setDefaultBkColor (QColor color)
@@ -648,7 +632,7 @@ void cConsole::paintCell (QPainter *p, int row, int)
   
   if (row < usedrows)     //only the first "usedrows" rows contain data
   {
-    int cw = Q3GridView::cellWidth ();
+    int cw = QTableView::cellWidth ();
     int ch = cellHeight ();
 
     QPixmap *pix = 0, *pix2 = 0;
@@ -790,7 +774,7 @@ void cConsole::fixupOutput ()
   QSize wsize = viewportSize (width(), height());
   int newcols = wsize.width() / charWidth;
   int spaceforrows = wsize.height() / cellHeight ();
-  Q3GridView::setCellWidth (newcols * charWidth);
+  QTableView::setCellWidth (newcols * charWidth);
 
   //columns are handled first... no manipulation needed anymore, as the paint \
routines are  //more intelligent now :D
@@ -836,7 +820,7 @@ void cConsole::fixupOutput ()
 void cConsole::resizeEvent (QResizeEvent *e)
 {
   //let the parent process it first
-  Q3GridView::resizeEvent (e);
+  QTableView::resizeEvent (e);
 
   //fixup output window to reflect changes
   fixupOutput ();
@@ -852,7 +836,7 @@ void cConsole::updateRowRange (int r1, int r2)
     updateCell (i, 0);
 }
 
-void cConsole::contentsMousePressEvent (QMouseEvent *e)
+void cConsole::mousePressEvent (QMouseEvent *e)
 {
   if (e->button() == Qt::LeftButton)
   {
@@ -907,7 +891,7 @@ void cConsole::contentsMousePressEvent (QMouseEvent *e)
     }
 }
 
-void cConsole::contentsMouseReleaseEvent (QMouseEvent *e)
+void cConsole::mouseReleaseEvent (QMouseEvent *e)
 {
   if (e->button() == Qt::LeftButton)
   {
@@ -937,7 +921,7 @@ void cConsole::contentsMouseReleaseEvent (QMouseEvent *e)
   */
 }
 
-void cConsole::contentsMouseMoveEvent (QMouseEvent *e)
+void cConsole::mouseMoveEvent (QMouseEvent *e)
 {
   //changing cursor over links...
   int inrow = rowAt (e->y());
@@ -983,7 +967,7 @@ void cConsole::contentsMouseMoveEvent (QMouseEvent *e)
   }
 }
 
-void cConsole::contentsMouseDoubleClickEvent (QMouseEvent *e)
+void cConsole::mouseDoubleClickEvent (QMouseEvent *e)
 {
   if (e->button() == Qt::LeftButton)
   {
@@ -1126,7 +1110,7 @@ void cConsole::wheelEvent (QWheelEvent *e)
   exactly what we want.
   */
   if (!aux)
-    Q3GridView::wheelEvent (e);
+    QTableView::wheelEvent (e);
   else
     e->ignore ();
 }
diff --git a/libs/cconsole.h b/libs/cconsole.h
index dd8136b..14bbdc6 100644
--- a/libs/cconsole.h
+++ b/libs/cconsole.h
@@ -23,7 +23,7 @@
 #ifndef CCONSOLE_H
 #define CCONSOLE_H
 
-#include <q3gridview.h>
+#include <QTableView>
 #include <qclipboard.h>
 #include <qdatetime.h>
 
@@ -84,11 +84,11 @@ while scrolling the main console...
   *@author Tomas Mecir
   */
 
-class KMUDDY_EXPORT cConsole : public Q3GridView {
+class KMUDDY_EXPORT cConsole : public QTableView {
    Q_OBJECT
 public: 
   /** auxiliary console is used to display last few lines when scrolling... */
-  cConsole(bool auxiliary=false, QWidget *parent=0, const char *name=0);
+  cConsole(bool auxiliary=false, QWidget *parent=0);
   ~cConsole();
   void setSession (int s);
 
@@ -179,13 +179,13 @@ protected:
   void updateRowRange (int r1, int r2);
  
   /** mouse press event */
-  void contentsMousePressEvent (QMouseEvent *e);
+  void mousePressEvent (QMouseEvent *e);
   /** mouse release event */
-  void contentsMouseReleaseEvent (QMouseEvent *e);
+  void mouseReleaseEvent (QMouseEvent *e);
   /** mouse move event */
-  void contentsMouseMoveEvent (QMouseEvent *e);
+  void mouseMoveEvent (QMouseEvent *e);
   /** mouse double-click event */
-  void contentsMouseDoubleClickEvent (QMouseEvent *e);
+  void mouseDoubleClickEvent (QMouseEvent *e);
   /** mouse triple-click event */
   void mouseTripleClickEvent (QMouseEvent *e);
   /** disables scrolling aux.console using mouse wheel */
diff --git a/libs/cexpresolver.h b/libs/cexpresolver.h
index 530188d..c06e6b3 100644
--- a/libs/cexpresolver.h
+++ b/libs/cexpresolver.h
@@ -38,8 +38,8 @@ Resolver for variables and functions, used by the expression \
processor.  class KMUDDY_EXPORT cExpResolver : public arith_exp_server {
   public:
     cExpResolver (int _sess);
-    virtual cValue get (QString varName);
-    virtual cValue function_call (const QString &functionName, list<cValue> \
&arguments); +    virtual cValue get (QString varName) override;
+    virtual cValue function_call (const QString &functionName, list<cValue> \
&arguments) override;  void setQueue (cCmdQueue *q) { queue = q; };
   protected:
     int sess;
diff --git a/libs/cinputline.cpp b/libs/cinputline.cpp
index c0647bf..e01e169 100644
--- a/libs/cinputline.cpp
+++ b/libs/cinputline.cpp
@@ -25,9 +25,7 @@
 
 #include <QApplication>
 #include <QClipboard>
-#include <QCursor>
 #include <QKeyEvent>
-#include <QTextCursor>
 #include <kglobalsettings.h>
 
 class cCompletion : public KCompletion {
diff --git a/libs/clistobject.cpp b/libs/clistobject.cpp
index 38f3875..15b734b 100644
--- a/libs/clistobject.cpp
+++ b/libs/clistobject.cpp
@@ -26,8 +26,6 @@ along with this program.  If not, see \
<http://www.gnu.org/licenses/>.  #include "clist.h"
 #include "clistmanager.h"
 
-#include <QRegExp>
-#include <QStringList>
 #include <QXmlStreamReader>
 #include <QXmlStreamWriter>
 
diff --git a/libs/clistobject.h b/libs/clistobject.h
index 3078ecf..1e092d8 100644
--- a/libs/clistobject.h
+++ b/libs/clistobject.h
@@ -191,6 +191,6 @@ protected:
   Private *d;
 };
 // Qt metatype, needed so the model can return these in data()
-Q_DECLARE_METATYPE(cListObject *);
+Q_DECLARE_METATYPE(cListObject *)
 
 #endif
diff --git a/libs/coutput.cpp b/libs/coutput.cpp
index 655fe53..fae7fca 100644
--- a/libs/coutput.cpp
+++ b/libs/coutput.cpp
@@ -34,12 +34,17 @@ along with this program.  If not, see \
<http://www.gnu.org/licenses/>.  cOutput::cOutput (int sess, QWidget *parent) : \
cActionBase ("output", sess)  {
   con = new cConsole (false, parent);
+  setWidget (con);
   con->setSession (sess);
 
   echocolor = Qt::yellow;
   systemcolor = Qt::cyan;
   bgcolor = Qt::black;
 
+  // enable vertical scrollbar, disable the other one
+  setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOff);
+  setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOn);
+
   // connect cConsole to us ...
   connect (con, SIGNAL (dimensionsChanged (int, int)), this,
       SLOT (dimensionsChanged (int, int)));
@@ -48,6 +53,10 @@ cOutput::cOutput (int sess, QWidget *parent) : cActionBase \
("output", sess)  connect (con, SIGNAL (promptCommand (const QString &)), this,
       SLOT (promptCommand (const QString &)));
 
+  //and connect() slider so that aconsole is shown/hidden as needed
+  connect (verticalScrollBar (), SIGNAL (sliderMoved (int)), con, SLOT \
(sliderChanged (int))); +  connect (verticalScrollBar (), SIGNAL (valueChanged \
(int)), con, SLOT (sliderChanged (int))); +    
   // react on events
   addEventHandler ("display-line", 20, PT_TEXTCHUNK);
   addEventHandler ("display-prompt", 20, PT_TEXTCHUNK);
@@ -84,6 +93,10 @@ void cOutput::eventNothingHandler (QString event, int session)
     con->setWrapPos (gs->getInt ("wrap-pos"));
     con->setIndentation (gs->getInt ("indent"));
     con->setRepaintCount (gs->getInt ("force-redraw"));
+
+    //changing font often causes view to move - move to the very bottom
+    verticalScrollBar()->setValue (verticalScrollBar()->maximum());
+
     con->tryUpdateHistorySize ();
   }
 }
diff --git a/libs/coutput.h b/libs/coutput.h
index 05b3481..42faf0d 100644
--- a/libs/coutput.h
+++ b/libs/coutput.h
@@ -24,7 +24,7 @@ along with this program.  If not, see \
<http://www.gnu.org/licenses/>.  #define COUTPUT_H
 
 #include <qcolor.h>
-#include <qobject.h>
+#include <QScrollArea>
 
 #include <cactionbase.h>
 #include <kmuddy_export.h>
@@ -33,11 +33,12 @@ class cConsole;
 
 /**
 This class serves as a wrapper for the main cConsole widget. It translates its \
signal-slot mechanism to the cAction-based approach. This is necessary, because \
cConsole is used in other places as well. +It also handles scrollbars.
 
 @author Tomas Mecir
 */
 
-class KMUDDY_EXPORT cOutput : public QObject, public cActionBase
+class KMUDDY_EXPORT cOutput : public QScrollArea, public cActionBase
 {
 Q_OBJECT
 public:
diff --git a/libs/cpluginmanager.cpp b/libs/cpluginmanager.cpp
index a08a803..d6e51da 100644
--- a/libs/cpluginmanager.cpp
+++ b/libs/cpluginmanager.cpp
@@ -27,8 +27,6 @@ along with this program.  If not, see \
<http://www.gnu.org/licenses/>.  
 #include <kdebug.h>
 #include <kdialog.h>
-#include <QFrame>
-#include <QVBoxLayout>
 #include <kplugininfo.h>
 #include <kpluginselector.h>
 #include <ktrader.h>
diff --git a/libs/cscripteval.cpp b/libs/cscripteval.cpp
index 5c354a1..60c5e2e 100644
--- a/libs/cscripteval.cpp
+++ b/libs/cscripteval.cpp
@@ -25,7 +25,6 @@ along with this program.  If not, see \
<http://www.gnu.org/licenses/>.  #include <QScriptContext>
 #include <QScriptEngine>
 #include <QScriptSyntaxCheckResult>
-#include <QStringList>
 
 class TooLongEvent : public QEvent { public: TooLongEvent() : QEvent(QEvent::User) \
{}; };  
diff --git a/libs/cscripteval.h b/libs/cscripteval.h
index d2612fd..902c75d 100644
--- a/libs/cscripteval.h
+++ b/libs/cscripteval.h
@@ -51,7 +51,7 @@ public:
   static QString validate (QString script);
 
 private:
-  virtual bool event(QEvent *e);
+  virtual bool event(QEvent *e) override;
   class Private;
   Private *d;
 };
diff --git a/libs/cstatus.cpp b/libs/cstatus.cpp
index 33aaecf..adc7865 100644
--- a/libs/cstatus.cpp
+++ b/libs/cstatus.cpp
@@ -18,7 +18,6 @@
 
 #include "cstatus.h"
 
-#include <QDateTime>
 #include <QTextStream>
 #include <klocale.h>
 
diff --git a/libs/ctextchunk.h b/libs/ctextchunk.h
index 3dd4389..a9b8fb0 100644
--- a/libs/ctextchunk.h
+++ b/libs/ctextchunk.h
@@ -189,7 +189,7 @@ protected:
 #define CHUNK_TEXT 1
 class KMUDDY_EXPORT chunkText : public chunkItem {
  public:
-  virtual int type() { return CHUNK_TEXT; };
+  virtual int type() override { return CHUNK_TEXT; };
   
   const QString &text() { return _text; }
   void setText (const QString &t) { _text = t; }
diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
index 496323a..8e240a1 100644
--- a/plugins/CMakeLists.txt
+++ b/plugins/CMakeLists.txt
@@ -7,7 +7,6 @@ add_subdirectory( mapper )
 add_subdirectory( converter )
 # add_subdirectory( test )
 
-include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  )
 
 
 ########### install files ###############
diff --git a/plugins/converter/CMakeLists.txt b/plugins/converter/CMakeLists.txt
index a9dd693..d30702f 100644
--- a/plugins/converter/CMakeLists.txt
+++ b/plugins/converter/CMakeLists.txt
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${CMAKE_CURRENT_BINARY_DIR} \
${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  ) +include_directories( ${CMAKE_SOURCE_DIR}/libs \
${CMAKE_CURRENT_BINARY_DIR}    )  
 
 ########### next target ###############
@@ -25,9 +25,9 @@ set(kmuddyconverterplugin_PART_SRCS
     cvartrigger.cpp
     )
 
-kde4_add_plugin(kmuddyconverterplugin ${kmuddyconverterplugin_PART_SRCS})
+add_library(kmuddyconverterplugin MODULE ${kmuddyconverterplugin_PART_SRCS})
 
-target_link_libraries(kmuddyconverterplugin  ${KDE4_KDECORE_LIBS} \
${KDE4_KPARTS_LIBS} ${KDE4_KDEUI_LIBS} kmuddycore ) \
+target_link_libraries(kmuddyconverterplugin  KF5::KDELibs4Support KF5::Parts  \
kmuddycore )  
 install(TARGETS kmuddyconverterplugin DESTINATION ${PLUGIN_INSTALL_DIR} )
 
diff --git a/plugins/mapper/CMakeLists.txt b/plugins/mapper/CMakeLists.txt
index 19e3567..febe2f6 100644
--- a/plugins/mapper/CMakeLists.txt
+++ b/plugins/mapper/CMakeLists.txt
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} \
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) +include_directories( \
${CMAKE_SOURCE_DIR}/libs   ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )  \
  
 ########### next target ###############
@@ -57,7 +57,7 @@ set(kmuddymapper_PART_SRCS
    plugins/standard/propertyPanes/cmapnotespane.cpp
    )
 
-kde4_add_ui_files (kmuddymapper_PART_SRCS
+ki18n_wrap_ui (kmuddymapper_PART_SRCS
    dialogs/dlgmapcolorbase.ui
    dialogs/dlgmapmovementbase.ui
    dialogs/dlgmapspeedwalkbase.ui
@@ -68,9 +68,9 @@ kde4_add_ui_files (kmuddymapper_PART_SRCS
    dialogs/dlgmapdirectionsbase.ui
    )
 
-kde4_add_plugin(kmuddymapper ${kmuddymapper_PART_SRCS})
+add_library(kmuddymapper MODULE ${kmuddymapper_PART_SRCS})
 
-target_link_libraries(kmuddymapper  ${KDE4_KDECORE_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KDE3SUPPORT_LIBS} kmuddycore ) +target_link_libraries(kmuddymapper  \
KF5::KDELibs4Support KF5::Parts kmuddycore )  
 install(TARGETS kmuddymapper DESTINATION ${PLUGIN_INSTALL_DIR} )
 
diff --git a/plugins/mapper/cmapview.cpp b/plugins/mapper/cmapview.cpp
index 643e202..0315912 100644
--- a/plugins/mapper/cmapview.cpp
+++ b/plugins/mapper/cmapview.cpp
@@ -18,8 +18,6 @@
 
 #include "cmapview.h"
 
-#include <QLabel>
-#include <QVBoxLayout>
 #include <QPushButton>
 #include <QScrollArea>
 #include <QActionGroup>
diff --git a/plugins/mapper/cmapviewstatusbar.cpp \
b/plugins/mapper/cmapviewstatusbar.cpp index 5e94395..bf1cb5a 100644
--- a/plugins/mapper/cmapviewstatusbar.cpp
+++ b/plugins/mapper/cmapviewstatusbar.cpp
@@ -20,7 +20,6 @@
 #include <QLabel>
 #include <QComboBox>
 #include <QPushButton>
-#include <QHBoxLayout>
 
 #include <klocale.h>
 
diff --git a/plugins/mapper/cmapwidget.h b/plugins/mapper/cmapwidget.h
index f94ecf4..b8f61de 100644
--- a/plugins/mapper/cmapwidget.h
+++ b/plugins/mapper/cmapwidget.h
@@ -19,7 +19,6 @@
 #define CMAPWIDGET_H
 
 #include <QWidget>
-#include <QToolTip>
 #include <QMenu>
 
 #include <kaction.h>
diff --git a/plugins/mapper/dialogs/dlgspeedwalkprogress.cpp \
b/plugins/mapper/dialogs/dlgspeedwalkprogress.cpp index 7565864..e123695 100644
--- a/plugins/mapper/dialogs/dlgspeedwalkprogress.cpp
+++ b/plugins/mapper/dialogs/dlgspeedwalkprogress.cpp
@@ -17,7 +17,6 @@
 
 #include "dlgspeedwalkprogress.h"
 
-#include <QProgressBar>
 #include <QPushButton>
 
 DlgSpeedwalkProgress::DlgSpeedwalkProgress(QWidget *parent) : QDialog(parent)
diff --git a/plugins/mapper/kmuddy_mapper.cpp b/plugins/mapper/kmuddy_mapper.cpp
index b796fe4..dbe8c68 100644
--- a/plugins/mapper/kmuddy_mapper.cpp
+++ b/plugins/mapper/kmuddy_mapper.cpp
@@ -25,7 +25,6 @@
 #include <klocale.h>
 #include <kpluginfactory.h>
 #include <kpluginloader.h>
-#include <QDebug>
 #include <QDockWidget>
 #include <map>
 
diff --git a/plugins/mapper/plugins/standard/propertyPanes/cmapnotespane.h \
b/plugins/mapper/plugins/standard/propertyPanes/cmapnotespane.h index \
                e06f0fd..f2a6603 100644
--- a/plugins/mapper/plugins/standard/propertyPanes/cmapnotespane.h
+++ b/plugins/mapper/plugins/standard/propertyPanes/cmapnotespane.h
@@ -20,7 +20,6 @@
 
 #include <QString>
 #include <QIcon>
-#include <QLayout>
 #include <QLabel>
 #include <QTextEdit>
 
diff --git a/plugins/scripting/CMakeLists.txt b/plugins/scripting/CMakeLists.txt
index a19033b..be0510b 100644
--- a/plugins/scripting/CMakeLists.txt
+++ b/plugins/scripting/CMakeLists.txt
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} \
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) +include_directories( \
${CMAKE_SOURCE_DIR}/libs   ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )  \
  
 ########### next target ###############
@@ -16,9 +16,9 @@ set(kmuddyscriptingplugin_PART_SRCS
    dlgrunninglist.cpp 
    )
 
-kde4_add_plugin(kmuddyscriptingplugin ${kmuddyscriptingplugin_PART_SRCS})
+add_library(kmuddyscriptingplugin MODULE ${kmuddyscriptingplugin_PART_SRCS})
 
-target_link_libraries(kmuddyscriptingplugin ${KDE4_KDECORE_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KDEUI_LIBS} kmuddycore ) +target_link_libraries(kmuddyscriptingplugin \
KF5::KDELibs4Support KF5::Parts kmuddycore )  
 install(TARGETS kmuddyscriptingplugin DESTINATION ${PLUGIN_INSTALL_DIR} )
 
diff --git a/plugins/scripting/cscript.cpp b/plugins/scripting/cscript.cpp
index 25a18a8..86dbccd 100644
--- a/plugins/scripting/cscript.cpp
+++ b/plugins/scripting/cscript.cpp
@@ -23,7 +23,6 @@
 #include "cscriptlist.h"
 
 #include <klocale.h>
-#include <QDir>
 #include <QProcess>
 
 cScript::cScript (cList *list) : cListObject (list)
diff --git a/plugins/scripting/dlgrunninglist.cpp \
b/plugins/scripting/dlgrunninglist.cpp index 0cfa3ed..6b4475b 100644
--- a/plugins/scripting/dlgrunninglist.cpp
+++ b/plugins/scripting/dlgrunninglist.cpp
@@ -20,7 +20,6 @@
 #include "crunninglist.h"
 
 #include <QLabel>
-#include <QMenu>
 #include <QTreeView>
 #include <QVBoxLayout>
 
diff --git a/plugins/strings/CMakeLists.txt b/plugins/strings/CMakeLists.txt
index c98264c..906632a 100644
--- a/plugins/strings/CMakeLists.txt
+++ b/plugins/strings/CMakeLists.txt
@@ -1,14 +1,14 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  )
+include_directories( ${CMAKE_SOURCE_DIR}/libs    )
 
 
 ########### next target ###############
 
 set(kmuddystringsplugin_PART_SRCS stringsplugin.cpp )
 
-kde4_add_plugin(kmuddystringsplugin ${kmuddystringsplugin_PART_SRCS})
+add_library(kmuddystringsplugin MODULE ${kmuddystringsplugin_PART_SRCS})
 
-target_link_libraries(kmuddystringsplugin  ${KDE4_KDECORE_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KDEUI_LIBS} kmuddycore ) +target_link_libraries(kmuddystringsplugin  \
KF5::KDELibs4Support KF5::Parts  kmuddycore )  
 install(TARGETS kmuddystringsplugin DESTINATION ${PLUGIN_INSTALL_DIR} )
 
diff --git a/plugins/test/CMakeLists.txt b/plugins/test/CMakeLists.txt
index 5ff1901..cce5b2f 100644
--- a/plugins/test/CMakeLists.txt
+++ b/plugins/test/CMakeLists.txt
@@ -1,13 +1,13 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  )
+include_directories( ${CMAKE_SOURCE_DIR}/libs    )
 
 ########### next target ###############
 
 set(kmuddytestplugin_PART_SRCS testplugin.cpp )
 
-kde4_add_plugin(kmuddytestplugin ${kmuddytestplugin_PART_SRCS})
+add_library(kmuddytestplugin MODULE ${kmuddytestplugin_PART_SRCS})
 
-target_link_libraries(kmuddytestplugin  ${KDE4_KDECORE_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KDEUI_LIBS} kmuddycore ) +target_link_libraries(kmuddytestplugin  \
KF5::KDELibs4Support KF5::Parts  kmuddycore )  
 install(TARGETS kmuddytestplugin DESTINATION ${PLUGIN_INSTALL_DIR} )
 
diff --git a/plugins/vartrigs/CMakeLists.txt b/plugins/vartrigs/CMakeLists.txt
index 297fbaa..3d12497 100644
--- a/plugins/vartrigs/CMakeLists.txt
+++ b/plugins/vartrigs/CMakeLists.txt
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} \
${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) +include_directories( \
${CMAKE_SOURCE_DIR}/libs   ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} )  \
  
 ########### next target ###############
@@ -11,9 +11,9 @@ set(kmuddyvartrigplugin_PART_SRCS
    cvartriggereditor.cpp
    )
 
-kde4_add_plugin(kmuddyvartrigplugin ${kmuddyvartrigplugin_PART_SRCS})
+add_library(kmuddyvartrigplugin MODULE ${kmuddyvartrigplugin_PART_SRCS})
 
-target_link_libraries(kmuddyvartrigplugin ${KDE4_KDECORE_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KDEUI_LIBS} kmuddycore ) +target_link_libraries(kmuddyvartrigplugin \
KF5::KDELibs4Support KF5::Parts  kmuddycore )  
 install(TARGETS kmuddyvartrigplugin DESTINATION ${PLUGIN_INSTALL_DIR} )
 
diff --git a/plugins/varviewer/CMakeLists.txt b/plugins/varviewer/CMakeLists.txt
index e098e49..44ffd7a 100644
--- a/plugins/varviewer/CMakeLists.txt
+++ b/plugins/varviewer/CMakeLists.txt
@@ -1,5 +1,5 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/libs ${CMAKE_CURRENT_BINARY_DIR} \
${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  ) +include_directories( ${CMAKE_SOURCE_DIR}/libs \
${CMAKE_CURRENT_BINARY_DIR}    )  
 
 ########### next target ###############
@@ -9,9 +9,9 @@ set(kmuddyvarviewerplugin_PART_SRCS
   dlgvarviewer.cpp
 )
 
-kde4_add_plugin(kmuddyvarviewerplugin ${kmuddyvarviewerplugin_PART_SRCS})
+add_library(kmuddyvarviewerplugin MODULE ${kmuddyvarviewerplugin_PART_SRCS})
 
-target_link_libraries(kmuddyvarviewerplugin  ${KDE4_KDECORE_LIBS} \
${KDE4_KPARTS_LIBS} ${KDE4_KDEUI_LIBS} kmuddycore ) \
+target_link_libraries(kmuddyvarviewerplugin  KF5::KDELibs4Support KF5::Parts  \
kmuddycore )  
 install(TARGETS kmuddyvarviewerplugin DESTINATION ${PLUGIN_INSTALL_DIR} )
 
diff --git a/scripting/CMakeLists.txt b/scripting/CMakeLists.txt
index 5284c33..315850b 100644
--- a/scripting/CMakeLists.txt
+++ b/scripting/CMakeLists.txt
@@ -1,5 +1,4 @@
 
-include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  )
 
 
 ########### install files ###############
diff --git a/template/CMakeLists.txt b/template/CMakeLists.txt
index a367b64..f4125fc 100644
--- a/template/CMakeLists.txt
+++ b/template/CMakeLists.txt
@@ -1,14 +1,14 @@
 
-include_directories( ${CMAKE_SOURCE_DIR}/lib ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}  )
+include_directories( ${CMAKE_SOURCE_DIR}/lib    )
 
 
 ########### next target ###############
 
 set(kmuddyplugintemplate_PART_SRCS plugin_template.cpp )
 
-kde4_add_plugin(kmuddyplugintemplate ${kmuddyplugintemplate_PART_SRCS})
+add_library(kmuddyplugintemplate MODULE ${kmuddyplugintemplate_PART_SRCS})
 
-target_link_libraries(kmuddyplugintemplate  ${KDE4_KDECORE_LIBS} ${KDE4_KPARTS_LIBS} \
${KDE4_KDEUI_LIBS} kmuddycore ) +target_link_libraries(kmuddyplugintemplate  \
KF5::KDELibs4Support KF5::Parts  kmuddycore )  
 install(TARGETS kmuddyplugintemplate DESTINATION ${PLUGIN_INSTALL_DIR} )
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic