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

List:       kde-commits
Subject:    KDE/kdeutils/okteta/kasten/controllers
From:       Friedrich W. H. Kossebau <kossebau () kde ! org>
Date:       2009-09-30 23:39:49
Message-ID: 1254353989.918704.18661.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1029876 by kossebau:

changed: have checksum algorithms and their parameterset edit created in separate \
factories

 M  +4 -2      CMakeLists.txt  
 M  +4 -37     view/checksum/checksumtool.cpp  
 M  +14 -14    view/checksum/checksumview.cpp  
 M  +1 -4      view/libbytearraychecksum/algorithm/modsumbytearraychecksumparameterset.cpp \
  M  +1 -1      view/libbytearraychecksum/algorithm/modsumbytearraychecksumparameterset.h \
  M  +3 -0      view/libbytearraychecksum/algorithm/modsumbytearraychecksumparametersetedit.cpp \
  M  +3 -0      view/libbytearraychecksum/algorithm/modsumbytearraychecksumparametersetedit.h \
  M  +1 -4      view/libbytearraychecksum/algorithm/nobytearraychecksumparameterset.cpp \
  M  +1 -1      view/libbytearraychecksum/algorithm/nobytearraychecksumparameterset.h \
  M  +3 -0      view/libbytearraychecksum/algorithm/nobytearraychecksumparametersetedit.cpp \
  M  +3 -0      view/libbytearraychecksum/algorithm/nobytearraychecksumparametersetedit.h \
  A             view/libbytearraychecksum/bytearraychecksumalgorithmfactory.cpp   \
[License: LGPL]  A             \
view/libbytearraychecksum/bytearraychecksumalgorithmfactory.h   [License: LGPL]  A    \
view/libbytearraychecksum/bytearraychecksumparameterseteditfactory.cpp   [License: \
LGPL]  A             \
view/libbytearraychecksum/bytearraychecksumparameterseteditfactory.h   [License: \
LGPL]


--- trunk/KDE/kdeutils/okteta/kasten/controllers/CMakeLists.txt #1029875:1029876
@@ -71,14 +71,16 @@
   view/libbytearraychecksum/abstractbytearraychecksumalgorithm.cpp
   view/libbytearraychecksum/abstractbytearraychecksumparameterset.cpp
   view/libbytearraychecksum/abstractbytearraychecksumparametersetedit.cpp
-  view/libbytearraychecksum/algorithm/nobytearraychecksumparameterset.cpp
-  view/libbytearraychecksum/algorithm/nobytearraychecksumparametersetedit.cpp
+  view/libbytearraychecksum/bytearraychecksumalgorithmfactory.cpp
+  view/libbytearraychecksum/bytearraychecksumparameterseteditfactory.cpp
   view/libbytearraychecksum/algorithm/crc32bytearraychecksumalgorithm.cpp
   view/libbytearraychecksum/algorithm/adler32bytearraychecksumalgorithm.cpp
   view/libbytearraychecksum/algorithm/modsum8bytearraychecksumalgorithm.cpp
   view/libbytearraychecksum/algorithm/modsum16bytearraychecksumalgorithm.cpp
   view/libbytearraychecksum/algorithm/modsum32bytearraychecksumalgorithm.cpp
   view/libbytearraychecksum/algorithm/modsum64bytearraychecksumalgorithm.cpp
+  view/libbytearraychecksum/algorithm/nobytearraychecksumparameterset.cpp
+  view/libbytearraychecksum/algorithm/nobytearraychecksumparametersetedit.cpp
   view/libbytearraychecksum/algorithm/modsumbytearraychecksumparameterset.cpp
   view/libbytearraychecksum/algorithm/modsumbytearraychecksumparametersetedit.cpp
   ${QCA2CHECKSUM_SRCS}
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/checksum/checksumtool.cpp \
#1029875:1029876 @@ -25,16 +25,8 @@
 // lib
 #include "checksumcalculatejob.h"
 //
+#include <bytearraychecksumalgorithmfactory.h>
 #include <abstractbytearraychecksumalgorithm.h>
-#include <algorithm/crc32bytearraychecksumalgorithm.h>
-#include <algorithm/adler32bytearraychecksumalgorithm.h>
-#include <algorithm/modsum8bytearraychecksumalgorithm.h>
-#include <algorithm/modsum16bytearraychecksumalgorithm.h>
-#include <algorithm/modsum32bytearraychecksumalgorithm.h>
-#include <algorithm/modsum64bytearraychecksumalgorithm.h>
-#ifdef HAVE_QCA2
-#include <algorithm/qca2bytearraychecksumalgorithm.h>
-#endif
 // 
 #include <bytearrayview.h>
 #include <bytearraydocument.h>
@@ -55,14 +47,6 @@
 namespace Kasten
 {
 
-#ifdef HAVE_QCA2
-static inline void addQca2Algorithm( QList<AbstractByteArrayChecksumAlgorithm*>& \
                algorithmList, const QString& name, const char* type )
-{
-    if( QCA::isSupported(type) )
-        algorithmList << new Qca2ByteArrayChecksumAlgorithm( name, \
                QString::fromLatin1(type) );
-}
-#endif
-
 ChecksumTool::ChecksumTool()
   : AbstractTool(),
     mChecksumUptodate( false ),
@@ -74,30 +58,13 @@
 {
     setObjectName( "Checksum" );
 
-    mAlgorithmList
-        << new ModSum8ByteArrayChecksumAlgorithm()
-        << new ModSum16ByteArrayChecksumAlgorithm()
-        << new ModSum32ByteArrayChecksumAlgorithm()
-        << new ModSum64ByteArrayChecksumAlgorithm()
-        << new Adler32ByteArrayChecksumAlgorithm()
-        << new Crc32ByteArrayChecksumAlgorithm();
-
+// TODO: find a better place to do and store the initialization
 #ifdef HAVE_QCA2
     mQcaInitializer = new QCA::Initializer( QCA::Practical, 64 );
 kDebug()<< QCA::supportedFeatures();//Hash::supportedTypes();
-
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", "SHA-0"), \
                "sha0" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", "SHA-1"), \
                "sha1" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", "MD2"),   \
                "md2" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", "MD4"),   \
                "md4" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", "MD5"),   \
                "md5" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", \
                "RIPEMD160"), "ripemd160" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", \
                "SHA-224"),   "sha224" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", \
                "SHA-256"),   "sha256" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", \
                "SHA-384"),   "sha384" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", \
                "SHA-512"),   "sha512" );
-    addQca2Algorithm( mAlgorithmList, i18nc( "name of the hash algorithm", \
"Whirlpool"), "whirlpool" );  #endif
+
+    mAlgorithmList = ByteArrayChecksumAlgorithmFactory::createAlgorithms();
 }
 
 QList<AbstractByteArrayChecksumAlgorithm*> ChecksumTool::algorithmList() const { \
                return mAlgorithmList; }
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/checksum/checksumview.cpp \
#1029875:1029876 @@ -25,8 +25,7 @@
 // tool
 #include "checksumtool.h"
 // lib
-#include <algorithm/modsumbytearraychecksumparametersetedit.h>
-#include <algorithm/nobytearraychecksumparametersetedit.h>
+#include <bytearraychecksumparameterseteditfactory.h>
 #include <abstractbytearraychecksumparametersetedit.h>
 #include <abstractbytearraychecksumparameterset.h>
 #include <abstractbytearraychecksumalgorithm.h>
@@ -44,6 +43,7 @@
 #include <QtGui/QLayout>
 #include <QtGui/QClipboard>
 #include <QtGui/QApplication>
+#include <QtGui/QAbstractItemView>
 
 
 namespace Kasten
@@ -109,6 +109,15 @@
     connect( mTool, SIGNAL(uptodateChanged( bool )), SLOT(onChecksumUptodateChanged( \
                bool )) );
     connect( mTool, SIGNAL(isApplyableChanged( bool )), SLOT(onApplyableChanged( \
bool )) );  
+    // automatically set focus to the parameters if a operation has been selected
+    QAbstractItemView* algorithmComboBoxListView = mAlgorithmComboBox->view();
+    QObject::connect( algorithmComboBoxListView, SIGNAL(activated( const \
QModelIndex& )), +             mParameterSetEditStack, SLOT(setFocus()) );
+    // TODO: is a workaround for Qt 4.5.1 which doesn't emit activated() for mouse \
clicks +    QObject::connect( algorithmComboBoxListView, SIGNAL(pressed( const \
QModelIndex& )), +             mParameterSetEditStack, SLOT(setFocus()) );
+    // TODO: goto filter button if there are no parameters
+
     addAlgorithms();
 }
 
@@ -120,19 +129,10 @@
     {
         mAlgorithmComboBox->addItem( algorithm->name() );
 
-        AbstractByteArrayChecksumParameterSetEdit* parameterEdit;
-        const QString parameterSetId = algorithm->parameterSet()->id();
+        const char* const parameterSetId = algorithm->parameterSet()->id();
+        AbstractByteArrayChecksumParameterSetEdit* parameterEdit =
+            ByteArrayChecksumParameterSetEditFactory::createEdit( parameterSetId );
 
-        if( parameterSetId == "ModSum" )
-            parameterEdit = new ModSumByteArrayChecksumParameterSetEdit();
-#if 0
-        else if( parameterSetId == "Reverse" )
-            parameterEdit = new ReverseByteArrayFilterParameterSetEdit();
-        else if( parameterSetId == "Rotate" )
-            parameterEdit = new RotateByteArrayFilterParameterSetEdit();
-#endif
-        else //if( parameterSetId == "None" ) TODO: default should be a message "Not \
                found"
-            parameterEdit = new NoByteArrayChecksumParameterSetEdit();
         mParameterSetEditStack->addWidget( parameterEdit );
     }
 
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/libbytearraychecksum/algorithm/modsumbytearraychecksumparameterset.cpp \
#1029875:1029876 @@ -22,15 +22,12 @@
 
 #include "modsumbytearraychecksumparameterset.h"
 
-// Qt
-#include <QtCore/QString>
 
-
 ModSumByteArrayChecksumParameterSet::ModSumByteArrayChecksumParameterSet()
   : mEndianness( ThisMachineEndianness )
 {}
 
-QString ModSumByteArrayChecksumParameterSet::id() const { return \
QString::fromLatin1("ModSum"); } +const char* \
ModSumByteArrayChecksumParameterSet::id() const { return "ModSum"; }  
 Endianness ModSumByteArrayChecksumParameterSet::endianness() const { return \
mEndianness; }  
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/libbytearraychecksum/algorithm/modsumbytearraychecksumparameterset.h \
#1029875:1029876 @@ -35,7 +35,7 @@
     virtual ~ModSumByteArrayChecksumParameterSet();
 
   public: // AbstractByteArrayChecksumParameterSet API
-    virtual QString id() const;
+    virtual const char* id() const;
 
   public:
     void setEndianness( Endianness endianness );
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/libbytearraychecksum/algorithm/modsumbytearraychecksumparametersetedit.cpp \
#1029875:1029876 @@ -31,6 +31,9 @@
 #include <QtGui/QFormLayout>
 
 
+const char* const ModSumByteArrayChecksumParameterSetEdit::Id = "ModSum";
+
+
 ModSumByteArrayChecksumParameterSetEdit::ModSumByteArrayChecksumParameterSetEdit( \
QWidget* parent )  : AbstractByteArrayChecksumParameterSetEdit( parent )
 {
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/libbytearraychecksum/algorithm/modsumbytearraychecksumparametersetedit.h \
#1029875:1029876 @@ -34,6 +34,9 @@
   Q_OBJECT
 
   public:
+    static const char* const Id;
+
+  public:
     ModSumByteArrayChecksumParameterSetEdit( QWidget* parent = 0 );
     virtual ~ModSumByteArrayChecksumParameterSetEdit();
 
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/libbytearraychecksum/algorithm/nobytearraychecksumparameterset.cpp \
#1029875:1029876 @@ -22,14 +22,11 @@
 
 #include "nobytearraychecksumparameterset.h"
 
-// Qt
-#include <QtCore/QString>
 
-
 NoByteArrayChecksumParameterSet::NoByteArrayChecksumParameterSet()
 {}
 
-QString NoByteArrayChecksumParameterSet::id() const { return \
QString::fromLatin1("None"); } +const char* NoByteArrayChecksumParameterSet::id() \
const { return "None"; }  
 NoByteArrayChecksumParameterSet::~NoByteArrayChecksumParameterSet()
 {
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/libbytearraychecksum/algorithm/nobytearraychecksumparameterset.h \
#1029875:1029876 @@ -34,7 +34,7 @@
     virtual ~NoByteArrayChecksumParameterSet();
 
   public: // AbstractByteArrayChecksumParameterSet API
-    virtual QString id() const;
+    virtual const char* id() const;
 };
 
 #endif
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/libbytearraychecksum/algorithm/nobytearraychecksumparametersetedit.cpp \
#1029875:1029876 @@ -23,6 +23,9 @@
 #include "nobytearraychecksumparametersetedit.h"
 
 
+const char* const NoByteArrayChecksumParameterSetEdit::Id = "None";
+
+
 NoByteArrayChecksumParameterSetEdit::NoByteArrayChecksumParameterSetEdit( QWidget* \
parent )  : AbstractByteArrayChecksumParameterSetEdit( parent )
 {}
--- trunk/KDE/kdeutils/okteta/kasten/controllers/view/libbytearraychecksum/algorithm/nobytearraychecksumparametersetedit.h \
#1029875:1029876 @@ -30,6 +30,9 @@
 class NoByteArrayChecksumParameterSetEdit : public \
AbstractByteArrayChecksumParameterSetEdit  {
   public:
+    static const char* const Id;
+
+  public:
     explicit NoByteArrayChecksumParameterSetEdit( QWidget* parent = 0 );
     virtual ~NoByteArrayChecksumParameterSetEdit();
 


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

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