[packages/kde4-kdevelop] fix build with okteta/kasten v[0..2], release 2 for rebuild with kde4-kdesdk-4.9.0.
pluto
pluto at pld-linux.org
Sat Aug 25 20:45:29 CEST 2012
commit 69cc44336d745e9f06a25ec02894f7afcd6dc1da
Author: Paweł Sikora <pawel.sikora at agmk.net>
Date: Sat Aug 25 20:44:39 2012 +0200
fix build with okteta/kasten v[0..2], release 2 for rebuild with kde4-kdesdk-4.9.0.
kde4-kdevelop.spec | 4 +-
okteta.patch | 776 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 779 insertions(+), 1 deletion(-)
---
diff --git a/kde4-kdevelop.spec b/kde4-kdevelop.spec
index d723547..c73cc52 100644
--- a/kde4-kdevelop.spec
+++ b/kde4-kdevelop.spec
@@ -14,11 +14,12 @@ Summary(pt_BR.UTF-8): Ambiente Integrado de Desenvolvimento para o KDE
Summary(zh_CN.UTF-8): KDE C/C++集成开发环境
Name: kde4-kdevelop
Version: 4.3.1
-Release: 1
+Release: 2
License: GPL
Group: X11/Development/Tools
Source0: ftp://ftp.kde.org/pub/kde/%{_state}/kdevelop/%{version}/src/%{orgname}-%{version}.tar.bz2
# Source0-md5: 6126e49562dcfb8e78a0f1b052a1ce19
+Patch0: okteta.patch
URL: http://www.kdevelop.org/
BuildRequires: QtHelp-devel >= %{qtver}
BuildRequires: QtNetwork-devel >= %{qtver}
@@ -112,6 +113,7 @@ pisaniu własnych programów wykorzystujących kdevelop.
%prep
%setup -q -n %{orgname}-%{version}
+%patch0 -p1
%build
install -d build
diff --git a/okteta.patch b/okteta.patch
new file mode 100644
index 0000000..34673d9
--- /dev/null
+++ b/okteta.patch
@@ -0,0 +1,776 @@
+diff --git a/cmake/modules/FindLibKasten.cmake b/cmake/modules/FindLibKasten.cmake
+index 087eedc..9fafd87 100644
+--- a/cmake/modules/FindLibKasten.cmake
++++ b/cmake/modules/FindLibKasten.cmake
+@@ -1,4 +1,4 @@
+-# - Find Kasten libraries, v0 or v1
++# - Find Kasten libraries, v0, v1 or v2
+ #
+ # This module defines
+ # LIBKASTEN_FOUND - whether the libkasten libraries were found
+@@ -12,44 +12,45 @@ if( LIBKASTEN_INCLUDE_DIR AND LIBKASTEN_LIBRARIES AND LIBKASTEN_VERSION )
+ set( Kasten_FIND_QUIETLY TRUE )
+ endif( LIBKASTEN_INCLUDE_DIR AND LIBKASTEN_LIBRARIES AND LIBKASTEN_VERSION )
+
+-if( LIBKASTEN_FIND_VERSION EQUAL 1 )
+- find_library( KASTEN1_CORE_LIB
++if( LIBKASTEN_FIND_VERSION EQUAL 1 OR LIBKASTEN_FIND_VERSION EQUAL 2)
++ set( KV ${LIBKASTEN_FIND_VERSION} )
++ find_library( KASTEN1OR2_CORE_LIB
+ NAMES
+- kasten1core
++ kasten${KV}core
+ HINTS
+ ${LIB_INSTALL_DIR}
+ ${KDE4_LIB_DIR}
+ )
+
+- find_library( KASTEN1_GUI_LIB
++ find_library( KASTEN1OR2_GUI_LIB
+ NAMES
+- kasten1gui
++ kasten${KV}gui
+ HINTS
+ ${LIB_INSTALL_DIR}
+ ${KDE4_LIB_DIR}
+ )
+
+- find_library( KASTEN1_CONTROLLERS_LIB
++ find_library( KASTEN1OR2_CONTROLLERS_LIB
+ NAMES
+- kasten1controllers
++ kasten${KV}controllers
+ HINTS
+ ${LIB_INSTALL_DIR}
+ ${KDE4_LIB_DIR}
+ )
+
+- find_path( KASTEN1_NORMAL_INCLUDE_DIR
++ find_path( KASTEN1OR2_NORMAL_INCLUDE_DIR
+ NAMES
+ abstractmodel.h
+ PATH_SUFFIXES
+- kasten1
++ kasten${KV}
+ HINTS
+ ${INCLUDE_INSTALL_DIR}
+ ${KDE4_INCLUDE_DIR}
+ )
+
+- find_path( KASTEN1_CAMELCASE_INCLUDE_DIR
++ find_path( KASTEN1OR2_CAMELCASE_INCLUDE_DIR
+ NAMES
+- Kasten1/AbstractModel
++ Kasten${KV}/AbstractModel
+ PATH_SUFFIXES
+ KDE
+ HINTS
+@@ -58,25 +59,25 @@ if( LIBKASTEN_FIND_VERSION EQUAL 1 )
+ )
+
+
+- if( KASTEN1_NORMAL_INCLUDE_DIR AND KASTEN1_CAMELCASE_INCLUDE_DIR AND
+- KASTEN1_CORE_LIB AND KASTEN1_GUI_LIB AND KASTEN1_CONTROLLERS_LIB )
++ if( KASTEN1OR2_NORMAL_INCLUDE_DIR AND KASTEN1OR2_CAMELCASE_INCLUDE_DIR AND
++ KASTEN1OR2_CORE_LIB AND KASTEN1OR2_GUI_LIB AND KASTEN1OR2_CONTROLLERS_LIB )
+ set( LIBKASTEN_FOUND TRUE )
+- endif( KASTEN1_NORMAL_INCLUDE_DIR AND KASTEN1_CAMELCASE_INCLUDE_DIR AND
+- KASTEN1_CORE_LIB AND KASTEN1_GUI_LIB AND KASTEN1_CONTROLLERS_LIB )
++ endif( KASTEN1OR2_NORMAL_INCLUDE_DIR AND KASTEN1OR2_CAMELCASE_INCLUDE_DIR AND
++ KASTEN1OR2_CORE_LIB AND KASTEN1OR2_GUI_LIB AND KASTEN1OR2_CONTROLLERS_LIB )
+
+ if( LIBKASTEN_FOUND )
+- set( LIBKASTEN_VERSION 1 )
++ set( LIBKASTEN_VERSION ${KV} )
+ set( LIBKASTEN_INCLUDE_DIRS
+- ${KASTEN1_NORMAL_INCLUDE_DIR}
+- ${KASTEN1_CAMELCASE_INCLUDE_DIR}
++ ${KASTEN1OR2_NORMAL_INCLUDE_DIR}
++ ${KASTEN1OR2_CAMELCASE_INCLUDE_DIR}
+ )
+ set( LIBKASTEN_LIBRARIES
+- ${KASTEN1_CORE_LIB}
+- ${KASTEN1_GUI_LIB}
+- ${KASTEN1_CONTROLLERS_LIB}
++ ${KASTEN1OR2_CORE_LIB}
++ ${KASTEN1OR2_GUI_LIB}
++ ${KASTEN1OR2_CONTROLLERS_LIB}
+ )
+ endif( LIBKASTEN_FOUND )
+-endif( LIBKASTEN_FIND_VERSION EQUAL 1 )
++endif( LIBKASTEN_FIND_VERSION EQUAL 1 OR LIBKASTEN_FIND_VERSION EQUAL 2 )
+
+ if( LIBKASTEN_FIND_VERSION EQUAL 0 )
+ find_library( LIBKASTENCORE0_LIBRARY
+diff --git a/cmake/modules/FindLibOktetaKasten.cmake b/cmake/modules/FindLibOktetaKasten.cmake
+index 973f0f1..0985914 100644
+--- a/cmake/modules/FindLibOktetaKasten.cmake
++++ b/cmake/modules/FindLibOktetaKasten.cmake
+@@ -1,4 +1,4 @@
+-# - Find Okteta Kasten libraries, v0 or v1
++# - Find Okteta Kasten libraries, v0, v1 or v2
+ #
+ # This module defines
+ # LIBOKTETAKASTEN_FOUND - whether the Okteta Kasten libraries were found
+@@ -7,66 +7,128 @@
+ # LIBOKTETAKASTEN_INCLUDE_DIRS - the include paths of the Okteta Kasten libraries
+
+
+-if( LIBOKTETAKASTEN_INCLUDE_DIRS AND LIBOKTETAKASTEN_LIBRARIES AND LIBOKTETAKASTEN_VERSION )
++if( LIBOKTETAKASTEN_INCLUDE_DIRS AND LIBOKTETAKASTEN_LIBRARIES AND LIBOKTETAKASTEN_VERSION AND
++ LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION AND LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION )
+ # Already in cache, be silent
+ set( OktetaKasten_FIND_QUIETLY TRUE )
+-endif( LIBOKTETAKASTEN_INCLUDE_DIRS AND LIBOKTETAKASTEN_LIBRARIES AND LIBOKTETAKASTEN_VERSION )
++endif( LIBOKTETAKASTEN_INCLUDE_DIRS AND LIBOKTETAKASTEN_LIBRARIES AND LIBOKTETAKASTEN_VERSION AND
++ LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION AND LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION )
+
+
+-# First search version 1
+-find_library( LIBOKTETA1KASTEN1CORE_LIBRARY
++# First search version 2
++find_library( LIBOKTETA1KASTEN2CORE_LIBRARY
+ NAMES
+- kasten1okteta1core
++ kasten2okteta1core
+ HINTS
+ ${LIB_INSTALL_DIR}
+ ${KDE4_LIB_DIR}
+ )
+
+-find_library( LIBOKTETA1KASTEN1GUI_LIBRARY
++find_library( LIBOKTETA1KASTEN2GUI_LIBRARY
+ NAMES
+- kasten1okteta1gui
++ kasten2okteta1gui
+ HINTS
+ ${LIB_INSTALL_DIR}
+ ${KDE4_LIB_DIR}
+ )
+
+-find_library( LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY
++find_library( LIBOKTETA1KASTEN2CONTROLLERS_LIBRARY
+ NAMES
+- kasten1okteta1controllers
++ kasten2okteta1controllers
+ HINTS
+ ${LIB_INSTALL_DIR}
+ ${KDE4_LIB_DIR}
+ )
+
+
+-find_path( LIBOKTETAKASTEN_INCLUDE_DIR
++find_path( LIBOKTETA1KASTEN2_INCLUDE_DIR
+ NAMES
+ bytearraydocument.h
+ PATH_SUFFIXES
+- kasten1/okteta1
++ kasten2/okteta1
+ HINTS
+ ${INCLUDE_INSTALL_DIR}
+ ${KDE4_INCLUDE_DIR}
+ )
+
+-if( LIBOKTETAKASTEN_INCLUDE_DIR AND
+- LIBOKTETA1KASTEN1CORE_LIBRARY AND LIBOKTETA1KASTEN1GUI_LIBRARY AND LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY )
++if( LIBOKTETA1KASTEN2_INCLUDE_DIR AND
++ LIBOKTETA1KASTEN2CORE_LIBRARY AND LIBOKTETA1KASTEN2GUI_LIBRARY AND LIBOKTETA1KASTEN2CONTROLLERS_LIBRARY )
+ set( LIBOKTETAKASTEN_FOUND TRUE )
+-endif( LIBOKTETAKASTEN_INCLUDE_DIR AND
+- LIBOKTETA1KASTEN1CORE_LIBRARY AND LIBOKTETA1KASTEN1GUI_LIBRARY AND LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY )
++endif( LIBOKTETA1KASTEN2_INCLUDE_DIR AND
++ LIBOKTETA1KASTEN2CORE_LIBRARY AND LIBOKTETA1KASTEN2GUI_LIBRARY AND LIBOKTETA1KASTEN2CONTROLLERS_LIBRARY )
+
+ if( LIBOKTETAKASTEN_FOUND )
+- set( LIBOKTETAKASTEN_VERSION 1 )
++ set( LIBOKTETAKASTEN_VERSION 2 )
++ set( LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION 2 )
++ set( LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION 1 )
+ set( LIBOKTETAKASTEN_LIBRARIES
+- ${LIBOKTETA1KASTEN1CORE_LIBRARY}
+- ${LIBOKTETA1KASTEN1GUI_LIBRARY}
+- ${LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY}
++ ${LIBOKTETA1KASTEN2CORE_LIBRARY}
++ ${LIBOKTETA1KASTEN2GUI_LIBRARY}
++ ${LIBOKTETA1KASTEN2CONTROLLERS_LIBRARY}
+ )
+ set( LIBOKTETAKASTEN_INCLUDE_DIRS
+- ${LIBOKTETAKASTEN_INCLUDE_DIR}
++ ${LIBOKTETA1KASTEN2_INCLUDE_DIR}
+ )
+ endif( LIBOKTETAKASTEN_FOUND )
+
++# Then search version 1
++if( NOT LIBOKTETAKASTEN_FOUND )
++ find_library( LIBOKTETA1KASTEN1CORE_LIBRARY
++ NAMES
++ kasten1okteta1core
++ HINTS
++ ${LIB_INSTALL_DIR}
++ ${KDE4_LIB_DIR}
++ )
++
++ find_library( LIBOKTETA1KASTEN1GUI_LIBRARY
++ NAMES
++ kasten1okteta1gui
++ HINTS
++ ${LIB_INSTALL_DIR}
++ ${KDE4_LIB_DIR}
++ )
++
++ find_library( LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY
++ NAMES
++ kasten1okteta1controllers
++ HINTS
++ ${LIB_INSTALL_DIR}
++ ${KDE4_LIB_DIR}
++ )
++
++
++ find_path( LIBOKTETA1KASTEN1_INCLUDE_DIR
++ NAMES
++ bytearraydocument.h
++ PATH_SUFFIXES
++ kasten1/okteta1
++ HINTS
++ ${INCLUDE_INSTALL_DIR}
++ ${KDE4_INCLUDE_DIR}
++ )
++
++ if( LIBOKTETA1KASTEN1_INCLUDE_DIR AND
++ LIBOKTETA1KASTEN1CORE_LIBRARY AND LIBOKTETA1KASTEN1GUI_LIBRARY AND LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY )
++ set( LIBOKTETAKASTEN_FOUND TRUE )
++ endif( LIBOKTETA1KASTEN1_INCLUDE_DIR AND
++ LIBOKTETA1KASTEN1CORE_LIBRARY AND LIBOKTETA1KASTEN1GUI_LIBRARY AND LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY )
++
++ if( LIBOKTETAKASTEN_FOUND )
++ set( LIBOKTETAKASTEN_VERSION 1 )
++ set( LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION 1 )
++ set( LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION 1 )
++ set( LIBOKTETAKASTEN_LIBRARIES
++ ${LIBOKTETA1KASTEN1CORE_LIBRARY}
++ ${LIBOKTETA1KASTEN1GUI_LIBRARY}
++ ${LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY}
++ )
++ set( LIBOKTETAKASTEN_INCLUDE_DIRS
++ ${LIBOKTETA1KASTEN1_INCLUDE_DIR}
++ )
++ endif( LIBOKTETAKASTEN_FOUND )
++endif( NOT LIBOKTETAKASTEN_FOUND )
++
+ # Then search version 0
+ if( NOT LIBOKTETAKASTEN_FOUND )
+ find_library( LIBOKTETAKASTENCORE0_LIBRARY
+@@ -112,6 +174,8 @@ if( NOT LIBOKTETAKASTEN_FOUND )
+
+ if( LIBOKTETAKASTEN_FOUND )
+ set( LIBOKTETAKASTEN_VERSION 0 )
++ set( LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION 0 )
++ set( LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION 0 )
+ set( LIBOKTETAKASTEN_INCLUDE_DIRS
+ ${LIBOKTETAKASTEN0_INCLUDE_DIR}
+ )
+@@ -138,4 +202,6 @@ mark_as_advanced(
+ LIBOKTETAKASTEN_INCLUDE_DIRS
+ LIBOKTETAKASTEN_LIBRARIES
+ LIBOKTETAKASTEN_VERSION
++ LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION
++ LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION
+ )
+diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index 1545d8c..aa0a0e6 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -6,8 +6,8 @@ macro_log_feature( LIBOKTETAKASTEN_FOUND
+ )
+
+ if( LIBOKTETAKASTEN_FOUND )
+-set( LIBOKTETA_FIND_VERSION ${LIBOKTETAKASTEN_VERSION} )
+-set( LIBKASTEN_FIND_VERSION ${LIBOKTETAKASTEN_VERSION} )
++set( LIBOKTETA_FIND_VERSION ${LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION} )
++set( LIBKASTEN_FIND_VERSION ${LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION} )
+ macro_optional_find_package( LibOkteta )
+ macro_optional_find_package( LibKasten )
+
+@@ -16,7 +16,7 @@ macro_log_feature( LIBOKTETA_FOUND
+ "" "Required for building Okteta KDevelop plugin."
+ )
+ macro_log_feature( LIBKASTEN_FOUND
+- "libkasten v${LIBKASTEN_FIND_VERSION}" "Kasten libraries" "kdesk/okteta/libs" FALSE
++ "libkasten v${LIBKASTEN_FIND_VERSION}" "Kasten libraries" "kdesk/okteta/libs/kasten" FALSE
+ "" "Required for building Okteta KDevelop plugin."
+ )
+ endif( LIBOKTETAKASTEN_FOUND )
+diff --git a/utils/okteta/kastentoolviewwidget.cpp b/utils/okteta/kastentoolviewwidget.cpp
+index b10974e..6ec4f69 100644
+--- a/utils/okteta/kastentoolviewwidget.cpp
++++ b/utils/okteta/kastentoolviewwidget.cpp
+@@ -27,7 +27,10 @@
+ // Okteta Kasten
+ #include <bytearrayview.h>
+ // Kasten
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 2
++#include <Kasten2/AbstractToolView>
++#include <Kasten2/AbstractTool>
++#elif KASTEN_VERSION == 1
+ #include <Kasten1/AbstractToolView>
+ #include <Kasten1/AbstractTool>
+ #else
+diff --git a/utils/okteta/kdevokteta.rc b/utils/okteta/kdevokteta.rc
+index e5314cf..b9ac33c 100644
+--- a/utils/okteta/kdevokteta.rc
++++ b/utils/okteta/kdevokteta.rc
+@@ -1,5 +1,5 @@
+ <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
+-<gui name="okteta" version="1">
++<gui name="okteta" version="2">
+ <MenuBar>
+ <Menu name="file">
+ <Action name="file_save" group="save_merge" /> <!-- TODO: why isn't this offered by the host? -->
+@@ -35,34 +35,45 @@
+ <Separator group="edit_find_merge" />
+ <Action name="goto_offset" group="edit_find_merge" />
+ </Menu>
+- <Menu name="view"><text>View</text>
+- <Action name="view_zoom_in" group="view_operations" />
+- <Action name="view_zoom_out" group="view_operations" />
+- <Separator group="view_operations" />
+- <Action name="view_showsnonprinting" group="view_operations" />
+- <Action name="view_lineoffset" group="view_operations" />
+- <Action name="togglecolumns" group="view_operations" />
+- <Separator group="view_operations" />
+- <Action name="view_valuecoding" group="view_operations" />
+- <Action name="view_charencoding" group="view_operations" />
+- <Separator group="view_operations" />
+- <Action name="view_bytesperline" group="view_operations" />
+- <Action name="view_bytespergroup" group="view_operations" />
+- <Action name="resizestyle" group="view_operations" />
+- <Action name="viewmode" group="view_operations" />
++
++ <Menu name="editor">
++
++ <Menu name="view"><text>View</text>
++ <Action name="view_zoom_in" group="view_operations" />
++ <Action name="view_zoom_out" group="view_operations" />
++ <Separator group="view_operations" />
++ <Action name="view_showsnonprinting" group="view_operations" />
++ <Action name="view_lineoffset" group="view_operations" />
++ <Action name="togglecolumns" group="view_operations" />
++ <Separator group="view_operations" />
++ <Action name="view_valuecoding" group="view_operations" />
++ <Action name="view_charencoding" group="view_operations" />
++ <Separator group="view_operations" />
++ <Action name="view_bytesperline" group="view_operations" />
++ <Action name="view_bytespergroup" group="view_operations" />
++ <Action name="resizestyle" group="view_operations" />
++ <Action name="viewmode" group="view_operations" />
++ <Separator/>
++ <Action name="view_profile" />
++ </Menu>
++ <Menu name="bookmarks"><text>Bookmarks</text>
++ <Action name="bookmark_add" />
++ <Action name="bookmark_edit" />
++ <Separator/>
++ <Action name="bookmark_replace" />
++ <Action name="bookmark_remove" />
++ <Action name="bookmark_remove_all" />
++ <Separator/>
++ <Action name="bookmark_previous" />
++ <Action name="bookmark_next" />
++ <Separator/>
++ <ActionList name="bookmark_list" />
++ </Menu>
++
+ </Menu>
+- <Menu name="bookmarks"><text>Bookmarks</text>
+- <Action name="bookmark_add" />
+- <Action name="bookmark_edit" />
+- <Separator/>
+- <Action name="bookmark_replace" />
+- <Action name="bookmark_remove" />
+- <Action name="bookmark_remove_all" />
+- <Separator/>
+- <Action name="bookmark_previous" />
+- <Action name="bookmark_next" />
+- <Separator/>
+- <ActionList name="bookmark_list" />
++
++ <Menu name="settings">
++ <Action name="settings_viewprofiles_manage" group="configure_merge" />
+ </Menu>
+ </MenuBar>
+
+diff --git a/utils/okteta/oktetadocument.cpp b/utils/okteta/oktetadocument.cpp
+index abb047d..6af5c11 100644
+--- a/utils/okteta/oktetadocument.cpp
++++ b/utils/okteta/oktetadocument.cpp
+@@ -23,9 +23,15 @@
+ #include "oktetadocument.h"
+
+ // plugin
++#include "oktetaplugin.h"
+ #include "oktetaview.h"
+ // Okteta
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 2
++#include <kasten2/okteta1/bytearrayviewprofilemanager.h>
++#include <kasten2/okteta1/bytearrayviewprofilesynchronizer.h>
++#include <kasten2/okteta1/bytearrayrawfilesynchronizerfactory.h>
++#include <kasten2/okteta1/bytearraydocument.h>
++#elif KASTEN_VERSION == 1
+ #include <kasten1/okteta1/bytearrayrawfilesynchronizerfactory.h>
+ #include <kasten1/okteta1/bytearraydocument.h>
+ #else
+@@ -33,7 +39,13 @@
+ #include <kasten/bytearraydocument.h>
+ #endif
+ // Kasten
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 2
++#include <Kasten2/JobManager>
++#include <Kasten2/AbstractLoadJob>
++#include <Kasten2/AbstractSyncToRemoteJob>
++#include <Kasten2/AbstractSyncFromRemoteJob>
++#include <Kasten2/AbstractModelSynchronizer>
++#elif KASTEN_VERSION == 1
+ #include <Kasten1/JobManager>
+ #include <Kasten1/AbstractLoadJob>
+ #include <Kasten1/AbstractSyncToRemoteJob>
+@@ -86,7 +98,11 @@ KTextEditor::Cursor OktetaDocument::cursorPosition() const { return KTextEditor:
+ IDocument::DocumentState OktetaDocument::state() const
+ {
+ return mByteArrayDocument ?
++#if KASTEN_VERSION == 2
++ ( mByteArrayDocument->synchronizer()->localSyncState() == Kasten::LocalHasChanges ?
++#else
+ ( mByteArrayDocument->localSyncState() == Kasten::LocalHasChanges ?
++#endif
+ IDocument::Modified :
+ IDocument::Clean ) :
+ IDocument::Clean;
+@@ -105,7 +121,7 @@ bool OktetaDocument::save( IDocument::DocumentSaveMode mode )
+
+ Kasten::AbstractSyncToRemoteJob* syncJob = synchronizer->startSyncToRemote();
+ const bool syncSucceeded =
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 1 || KASTEN_VERSION == 2
+ Kasten::JobManager::executeJob( syncJob );
+ #else
+ Kasten::JobManager::executeJob( syncJob, qApp->activeWindow() );
+@@ -127,7 +143,7 @@ void OktetaDocument::reload()
+
+ Kasten::AbstractSyncFromRemoteJob* syncJob = synchronizer->startSyncFromRemote();
+ const bool syncSucceeded =
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 1 || KASTEN_VERSION == 2
+ Kasten::JobManager::executeJob( syncJob );
+ #else
+ Kasten::JobManager::executeJob( syncJob, qApp->activeWindow() );
+@@ -227,7 +243,10 @@ Sublime::View* OktetaDocument::newView( Sublime::Document* document )
+ Kasten::AbstractModelSynchronizer* synchronizer = synchronizerFactory->createSynchronizer();
+
+ Kasten::AbstractLoadJob* loadJob = synchronizer->startLoad( url() );
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 2
++ connect( loadJob, SIGNAL(documentLoaded(Kasten2::AbstractDocument*)),
++ SLOT(onByteArrayDocumentLoaded(Kasten2::AbstractDocument*)) );
++#elif KASTEN_VERSION == 1
+ connect( loadJob, SIGNAL(documentLoaded(Kasten1::AbstractDocument*)),
+ SLOT(onByteArrayDocumentLoaded(Kasten1::AbstractDocument*)) );
+ #else
+@@ -235,7 +254,7 @@ Sublime::View* OktetaDocument::newView( Sublime::Document* document )
+ SLOT(onByteArrayDocumentLoaded(Kasten::AbstractDocument*)) );
+ #endif
+ const bool syncSucceeded =
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 1 || KASTEN_VERSION == 2
+ Kasten::JobManager::executeJob( loadJob );
+ #else
+ Kasten::JobManager::executeJob( loadJob, qApp->activeWindow() );
+@@ -244,7 +263,15 @@ Sublime::View* OktetaDocument::newView( Sublime::Document* document )
+ delete synchronizerFactory;
+ }
+
++#if KASTEN_VERSION == 2
++ Kasten::ByteArrayViewProfileManager* const viewProfileManager = mPlugin->viewProfileManager();
++ Kasten::ByteArrayViewProfileSynchronizer* viewProfileSynchronizer =
++ new Kasten::ByteArrayViewProfileSynchronizer( viewProfileManager );
++ viewProfileSynchronizer->setViewProfileId( viewProfileManager->defaultViewProfileId() );
++ return new OktetaView( this, viewProfileSynchronizer );
++#else
+ return new OktetaView( this );
++#endif
+ }
+
+ bool OktetaDocument::closeDocument(bool silent)
+@@ -257,7 +284,9 @@ void OktetaDocument::onByteArrayDocumentLoaded( Kasten::AbstractDocument* docume
+ if( document )
+ {
+ mByteArrayDocument = static_cast<Kasten::ByteArrayDocument*>( document );
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 2
++ connect( mByteArrayDocument, SIGNAL(localSyncStateChanged(Kasten2::LocalSyncState)),
++#elif KASTEN_VERSION == 1
+ connect( mByteArrayDocument, SIGNAL(localSyncStateChanged(Kasten1::LocalSyncState)),
+ #else
+ connect( mByteArrayDocument, SIGNAL(localSyncStateChanged(Kasten::LocalSyncState)),
+diff --git a/utils/okteta/oktetadocument.h b/utils/okteta/oktetadocument.h
+index 56eba46..c03573a 100644
+--- a/utils/okteta/oktetadocument.h
++++ b/utils/okteta/oktetadocument.h
+@@ -85,7 +85,9 @@ class OktetaDocument : public Sublime::UrlDocument, public IDocument
+ protected Q_SLOTS:
+ void onByteArrayDocumentChanged();
+ // Moc is too primitive to know about namespace aliase
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 2
++ void onByteArrayDocumentLoaded( Kasten2::AbstractDocument* document );
++#elif KASTEN_VERSION == 1
+ void onByteArrayDocumentLoaded( Kasten1::AbstractDocument* document );
+ #else
+ void onByteArrayDocumentLoaded( Kasten::AbstractDocument* document );
+diff --git a/utils/okteta/oktetaglobal.h b/utils/okteta/oktetaglobal.h
+index 0113bbb..857ba55 100644
+--- a/utils/okteta/oktetaglobal.h
++++ b/utils/okteta/oktetaglobal.h
+@@ -24,7 +24,11 @@
+ #define OKTETAGLOBAL_H
+
+ // Adaptions for the different version of Kasten and Okteta
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 2
++namespace Kasten2 {}
++namespace Kasten = Kasten2;
++#define KASTEN_NAMESPACE Kasten2
++#elif KASTEN_VERSION == 1
+ namespace Kasten1 {}
+ namespace Kasten = Kasten1;
+ #define KASTEN_NAMESPACE Kasten1
+diff --git a/utils/okteta/oktetaplugin.cpp b/utils/okteta/oktetaplugin.cpp
+index c8a7fd4..5691959 100644
+--- a/utils/okteta/oktetaplugin.cpp
++++ b/utils/okteta/oktetaplugin.cpp
+@@ -45,6 +45,10 @@
+ #include <bookmarkstoolfactory.h>
+ #include <structurestoolviewfactory.h>
+ #include <structurestoolfactory.h>
++// Okteta Kasten
++#if KASTEN_VERSION == 2
++#include <bytearrayviewprofilemanager.h>
++#endif
+ // KDev
+ #include <project/projectmodel.h>
+ #include <interfaces/icore.h>
+@@ -77,15 +81,20 @@ void addTool( IUiController* uiController,
+
+
+ OktetaPlugin::OktetaPlugin( QObject* parent, const QVariantList& args )
+- : IPlugin( OktetaPluginFactory::componentData(), parent ),
+- mDocumentFactory( new OktetaDocumentFactory(this) )
++ : IPlugin( OktetaPluginFactory::componentData(), parent )
++ , mDocumentFactory( new OktetaDocumentFactory(this) )
++#if KASTEN_VERSION == 2
++ , mViewProfileManager( new Kasten::ByteArrayViewProfileManager() )
++#endif
+ {
+ Q_UNUSED(args)
+
++#if KASTEN_VERSION == 0 || KASTEN_VERSION == 1
+ KLocale* globalLocale = KGlobal::locale();
+ globalLocale->insertCatalog( QString::fromLatin1("liboktetacore") );
+ globalLocale->insertCatalog( QString::fromLatin1("libkasten") );
+ globalLocale->insertCatalog( QString::fromLatin1("liboktetakasten") );
++#endif
+
+ IUiController* uiController = core()->uiController();
+ addTool( uiController, new Kasten::ChecksumToolViewFactory(), new Kasten::ChecksumToolFactory() );
+diff --git a/utils/okteta/oktetaplugin.h b/utils/okteta/oktetaplugin.h
+index 3eec9f7..d848aae 100644
+--- a/utils/okteta/oktetaplugin.h
++++ b/utils/okteta/oktetaplugin.h
+@@ -23,6 +23,8 @@
+ #ifndef OKTETAPLUGIN_H
+ #define OKTETAPLUGIN_H
+
++// Plugin
++#include "oktetaglobal.h"
+ // KDev
+ #include <interfaces/iplugin.h>
+ // Qt
+@@ -30,6 +32,10 @@
+
+ class KUrl;
+
++namespace KASTEN_NAMESPACE
++{
++class ByteArrayViewProfileManager;
++}
+
+ namespace KDevelop
+ {
+@@ -48,11 +54,19 @@ class OktetaPlugin: public IPlugin
+ public: // KDevelop::IPlugin API
+ virtual ContextMenuExtension contextMenuExtension( Context* context );
+
++#if KASTEN_VERSION == 2
++ public:
++ Kasten::ByteArrayViewProfileManager* viewProfileManager() const { return mViewProfileManager; }
++#endif
++
+ private Q_SLOTS:
+ void onOpenTriggered();
+
+ protected:
+ OktetaDocumentFactory* mDocumentFactory;
++#if KASTEN_VERSION == 2
++ Kasten::ByteArrayViewProfileManager* const mViewProfileManager;
++#endif
+ QList<KUrl> mContextUrls;
+ };
+
+diff --git a/utils/okteta/oktetatoolviewfactory.cpp b/utils/okteta/oktetatoolviewfactory.cpp
+index ed0cf13..fffa24e 100644
+--- a/utils/okteta/oktetatoolviewfactory.cpp
++++ b/utils/okteta/oktetatoolviewfactory.cpp
+@@ -25,7 +25,11 @@
+ // plugin
+ #include "kastentoolviewwidget.h"
+ // Kasten
+-#if KASTEN_VERSION == 1
++#if KASTEN_VERSION == 2
++#include <Kasten2/AbstractToolViewFactory>
++#include <Kasten2/AbstractToolFactory>
++#include <Kasten2/AbstractToolView>
++#elif KASTEN_VERSION == 1
+ #include <Kasten1/AbstractToolViewFactory>
+ #include <Kasten1/AbstractToolFactory>
+ #include <Kasten1/AbstractToolView>
+diff --git a/utils/okteta/oktetaview.cpp b/utils/okteta/oktetaview.cpp
+index 249aaaa..d4142f3 100644
+--- a/utils/okteta/oktetaview.cpp
++++ b/utils/okteta/oktetaview.cpp
+@@ -33,9 +33,15 @@
+ namespace KDevelop
+ {
+
++#if KASTEN_VERSION == 2
++OktetaView::OktetaView( OktetaDocument* document, Kasten::ByteArrayViewProfileSynchronizer* viewProfileSynchronizer )
++ : Sublime::View( document, View::TakeOwnership ),
++ mByteArrayView( new Kasten::ByteArrayView( document->byteArrayDocument(), viewProfileSynchronizer ) )
++#else
+ OktetaView::OktetaView( OktetaDocument* document )
+ : Sublime::View( document, View::TakeOwnership ),
+ mByteArrayView( new Kasten::ByteArrayView( document->byteArrayDocument() ) )
++#endif
+ {
+ }
+
+diff --git a/utils/okteta/oktetaview.h b/utils/okteta/oktetaview.h
+index 29a6b39..6d2e655 100644
+--- a/utils/okteta/oktetaview.h
++++ b/utils/okteta/oktetaview.h
+@@ -29,6 +29,7 @@
+ #include <sublime/view.h>
+
+ namespace KASTEN_NAMESPACE {
++class ByteArrayViewProfileSynchronizer;
+ class ByteArrayView;
+ }
+
+@@ -43,8 +44,11 @@ class OktetaView : public Sublime::View
+ Q_OBJECT
+
+ public:
++#if KASTEN_VERSION == 2
++ OktetaView( OktetaDocument* document, Kasten::ByteArrayViewProfileSynchronizer* viewProfileSynchronizer );
++#else
+ explicit OktetaView( OktetaDocument* document );
+-
++#endif
+ virtual ~OktetaView();
+
+ public:
+diff --git a/utils/okteta/oktetawidget.cpp b/utils/okteta/oktetawidget.cpp
+index 0fac371..cd020b7 100644
+--- a/utils/okteta/oktetawidget.cpp
++++ b/utils/okteta/oktetawidget.cpp
+@@ -39,6 +39,10 @@
+ #include <viewconfigcontroller.h>
+ #include <viewmodecontroller.h>
+ #include <viewstatuscontroller.h>
++#if KASTEN_VERSION == 2
++#include <viewprofilecontroller.h>
++#include <viewprofilesmanagecontroller.h>
++#endif
+ // Kasten
+ #include <readonlycontroller.h>
+ // #include <document/readonly/readonlybarcontroller.h>
+@@ -54,6 +58,7 @@
+ // KDevelop
+ #include <sublime/view.h>
+ // KDE
++#include <KLocale>
+ #include <KAction>
+ #include <KStandardAction>
+ #include <KActionCollection>
+@@ -73,7 +78,7 @@ OktetaWidget::OktetaWidget( QWidget* parent, Kasten::ByteArrayView* byteArrayVie
+ setComponentData( plugin->componentData() );
+ setXMLFile( "kdevokteta.rc" );
+
+- setupActions();
++ setupActions(plugin);
+
+ QVBoxLayout* layout = new QVBoxLayout( this );
+ layout->setMargin( 0 );
+@@ -82,7 +87,7 @@ OktetaWidget::OktetaWidget( QWidget* parent, Kasten::ByteArrayView* byteArrayVie
+ setFocusProxy( widget );
+ }
+
+-void OktetaWidget::setupActions()
++void OktetaWidget::setupActions(OktetaPlugin* plugin)
+ {
+ mControllers.append( new Kasten::VersionController(this) );
+ mControllers.append( new Kasten::ReadOnlyController(this) );
+@@ -103,6 +108,15 @@ void OktetaWidget::setupActions()
+ mControllers.append( new Kasten::PrintController( this ) );
+ mControllers.append( new Kasten::ViewConfigController(this) );
+ mControllers.append( new Kasten::ViewModeController(this) );
++#if KASTEN_VERSION == 2
++ Kasten::ByteArrayViewProfileManager* viewProfileManager = plugin->viewProfileManager();
++ mControllers.append( new Kasten::ViewProfileController(viewProfileManager, mByteArrayView->widget(), this) );
++ mControllers.append( new Kasten::ViewProfilesManageController(this, viewProfileManager, mByteArrayView->widget()) );
++ // update the text of the viewprofiles_manage action, to make clear this is just for byte arrays
++ QAction* viewprofilesManageAction = actionCollection()->action(QLatin1String("settings_viewprofiles_manage"));
++ viewprofilesManageAction->setText( i18nc("@action:inmenu",
++ "Manage Byte Array View Profiles...") );
++#endif
+
+ // Kasten::StatusBar* bottomBar = static_cast<Kasten::StatusBar*>( statusBar() );
+ // mControllers.append( new ViewStatusController(bottomBar) );
+@@ -111,7 +125,6 @@ void OktetaWidget::setupActions()
+
+ foreach( Kasten::AbstractXmlGuiController* controller, mControllers )
+ controller->setTargetModel( mByteArrayView );
+-
+ #if 0
+ QDesignerFormWindowManagerInterface* manager = mDocument->form()->core()->formWindowManager();
+ KActionCollection* ac = actionCollection();
+diff --git a/utils/okteta/oktetawidget.h b/utils/okteta/oktetawidget.h
+index dfc9907..e62e58e 100644
+--- a/utils/okteta/oktetawidget.h
++++ b/utils/okteta/oktetawidget.h
+@@ -55,10 +55,10 @@ class OktetaWidget : public QWidget, public KXMLGUIClient
+ void editSignals();
+ void editTabOrder();
+ #endif
+- protected:
+- void setupActions();
++ private:
++ void setupActions(OktetaPlugin* plugin);
+
+- protected:
++ private:
+ Kasten::ByteArrayView* mByteArrayView;
+ // TODO: move this to the plugin, per mainwindow
+ QList<Kasten::AbstractXmlGuiController*> mControllers;
More information about the pld-cvs-commit
mailing list