1 diff --git a/cmake/modules/FindLibKasten.cmake b/cmake/modules/FindLibKasten.cmake
2 index 087eedc..9fafd87 100644
3 --- a/cmake/modules/FindLibKasten.cmake
4 +++ b/cmake/modules/FindLibKasten.cmake
6 -# - Find Kasten libraries, v0 or v1
7 +# - Find Kasten libraries, v0, v1 or v2
10 # LIBKASTEN_FOUND - whether the libkasten libraries were found
11 @@ -12,44 +12,45 @@ if( LIBKASTEN_INCLUDE_DIR AND LIBKASTEN_LIBRARIES AND LIBKASTEN_VERSION )
12 set( Kasten_FIND_QUIETLY TRUE )
13 endif( LIBKASTEN_INCLUDE_DIR AND LIBKASTEN_LIBRARIES AND LIBKASTEN_VERSION )
15 -if( LIBKASTEN_FIND_VERSION EQUAL 1 )
16 - find_library( KASTEN1_CORE_LIB
17 +if( LIBKASTEN_FIND_VERSION EQUAL 1 OR LIBKASTEN_FIND_VERSION EQUAL 2)
18 + set( KV ${LIBKASTEN_FIND_VERSION} )
19 + find_library( KASTEN1OR2_CORE_LIB
28 - find_library( KASTEN1_GUI_LIB
29 + find_library( KASTEN1OR2_GUI_LIB
38 - find_library( KASTEN1_CONTROLLERS_LIB
39 + find_library( KASTEN1OR2_CONTROLLERS_LIB
42 + kasten${KV}controllers
48 - find_path( KASTEN1_NORMAL_INCLUDE_DIR
49 + find_path( KASTEN1OR2_NORMAL_INCLUDE_DIR
56 ${INCLUDE_INSTALL_DIR}
60 - find_path( KASTEN1_CAMELCASE_INCLUDE_DIR
61 + find_path( KASTEN1OR2_CAMELCASE_INCLUDE_DIR
63 - Kasten1/AbstractModel
64 + Kasten${KV}/AbstractModel
68 @@ -58,25 +59,25 @@ if( LIBKASTEN_FIND_VERSION EQUAL 1 )
72 - if( KASTEN1_NORMAL_INCLUDE_DIR AND KASTEN1_CAMELCASE_INCLUDE_DIR AND
73 - KASTEN1_CORE_LIB AND KASTEN1_GUI_LIB AND KASTEN1_CONTROLLERS_LIB )
74 + if( KASTEN1OR2_NORMAL_INCLUDE_DIR AND KASTEN1OR2_CAMELCASE_INCLUDE_DIR AND
75 + KASTEN1OR2_CORE_LIB AND KASTEN1OR2_GUI_LIB AND KASTEN1OR2_CONTROLLERS_LIB )
76 set( LIBKASTEN_FOUND TRUE )
77 - endif( KASTEN1_NORMAL_INCLUDE_DIR AND KASTEN1_CAMELCASE_INCLUDE_DIR AND
78 - KASTEN1_CORE_LIB AND KASTEN1_GUI_LIB AND KASTEN1_CONTROLLERS_LIB )
79 + endif( KASTEN1OR2_NORMAL_INCLUDE_DIR AND KASTEN1OR2_CAMELCASE_INCLUDE_DIR AND
80 + KASTEN1OR2_CORE_LIB AND KASTEN1OR2_GUI_LIB AND KASTEN1OR2_CONTROLLERS_LIB )
83 - set( LIBKASTEN_VERSION 1 )
84 + set( LIBKASTEN_VERSION ${KV} )
85 set( LIBKASTEN_INCLUDE_DIRS
86 - ${KASTEN1_NORMAL_INCLUDE_DIR}
87 - ${KASTEN1_CAMELCASE_INCLUDE_DIR}
88 + ${KASTEN1OR2_NORMAL_INCLUDE_DIR}
89 + ${KASTEN1OR2_CAMELCASE_INCLUDE_DIR}
91 set( LIBKASTEN_LIBRARIES
94 - ${KASTEN1_CONTROLLERS_LIB}
95 + ${KASTEN1OR2_CORE_LIB}
96 + ${KASTEN1OR2_GUI_LIB}
97 + ${KASTEN1OR2_CONTROLLERS_LIB}
99 endif( LIBKASTEN_FOUND )
100 -endif( LIBKASTEN_FIND_VERSION EQUAL 1 )
101 +endif( LIBKASTEN_FIND_VERSION EQUAL 1 OR LIBKASTEN_FIND_VERSION EQUAL 2 )
103 if( LIBKASTEN_FIND_VERSION EQUAL 0 )
104 find_library( LIBKASTENCORE0_LIBRARY
105 diff --git a/cmake/modules/FindLibOktetaKasten.cmake b/cmake/modules/FindLibOktetaKasten.cmake
106 index 973f0f1..0985914 100644
107 --- a/cmake/modules/FindLibOktetaKasten.cmake
108 +++ b/cmake/modules/FindLibOktetaKasten.cmake
110 -# - Find Okteta Kasten libraries, v0 or v1
111 +# - Find Okteta Kasten libraries, v0, v1 or v2
113 # This module defines
114 # LIBOKTETAKASTEN_FOUND - whether the Okteta Kasten libraries were found
116 # LIBOKTETAKASTEN_INCLUDE_DIRS - the include paths of the Okteta Kasten libraries
119 -if( LIBOKTETAKASTEN_INCLUDE_DIRS AND LIBOKTETAKASTEN_LIBRARIES AND LIBOKTETAKASTEN_VERSION )
120 +if( LIBOKTETAKASTEN_INCLUDE_DIRS AND LIBOKTETAKASTEN_LIBRARIES AND LIBOKTETAKASTEN_VERSION AND
121 + LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION AND LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION )
122 # Already in cache, be silent
123 set( OktetaKasten_FIND_QUIETLY TRUE )
124 -endif( LIBOKTETAKASTEN_INCLUDE_DIRS AND LIBOKTETAKASTEN_LIBRARIES AND LIBOKTETAKASTEN_VERSION )
125 +endif( LIBOKTETAKASTEN_INCLUDE_DIRS AND LIBOKTETAKASTEN_LIBRARIES AND LIBOKTETAKASTEN_VERSION AND
126 + LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION AND LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION )
129 -# First search version 1
130 -find_library( LIBOKTETA1KASTEN1CORE_LIBRARY
131 +# First search version 2
132 +find_library( LIBOKTETA1KASTEN2CORE_LIBRARY
141 -find_library( LIBOKTETA1KASTEN1GUI_LIBRARY
142 +find_library( LIBOKTETA1KASTEN2GUI_LIBRARY
151 -find_library( LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY
152 +find_library( LIBOKTETA1KASTEN2CONTROLLERS_LIBRARY
154 - kasten1okteta1controllers
155 + kasten2okteta1controllers
162 -find_path( LIBOKTETAKASTEN_INCLUDE_DIR
163 +find_path( LIBOKTETA1KASTEN2_INCLUDE_DIR
170 ${INCLUDE_INSTALL_DIR}
174 -if( LIBOKTETAKASTEN_INCLUDE_DIR AND
175 - LIBOKTETA1KASTEN1CORE_LIBRARY AND LIBOKTETA1KASTEN1GUI_LIBRARY AND LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY )
176 +if( LIBOKTETA1KASTEN2_INCLUDE_DIR AND
177 + LIBOKTETA1KASTEN2CORE_LIBRARY AND LIBOKTETA1KASTEN2GUI_LIBRARY AND LIBOKTETA1KASTEN2CONTROLLERS_LIBRARY )
178 set( LIBOKTETAKASTEN_FOUND TRUE )
179 -endif( LIBOKTETAKASTEN_INCLUDE_DIR AND
180 - LIBOKTETA1KASTEN1CORE_LIBRARY AND LIBOKTETA1KASTEN1GUI_LIBRARY AND LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY )
181 +endif( LIBOKTETA1KASTEN2_INCLUDE_DIR AND
182 + LIBOKTETA1KASTEN2CORE_LIBRARY AND LIBOKTETA1KASTEN2GUI_LIBRARY AND LIBOKTETA1KASTEN2CONTROLLERS_LIBRARY )
184 if( LIBOKTETAKASTEN_FOUND )
185 - set( LIBOKTETAKASTEN_VERSION 1 )
186 + set( LIBOKTETAKASTEN_VERSION 2 )
187 + set( LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION 2 )
188 + set( LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION 1 )
189 set( LIBOKTETAKASTEN_LIBRARIES
190 - ${LIBOKTETA1KASTEN1CORE_LIBRARY}
191 - ${LIBOKTETA1KASTEN1GUI_LIBRARY}
192 - ${LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY}
193 + ${LIBOKTETA1KASTEN2CORE_LIBRARY}
194 + ${LIBOKTETA1KASTEN2GUI_LIBRARY}
195 + ${LIBOKTETA1KASTEN2CONTROLLERS_LIBRARY}
197 set( LIBOKTETAKASTEN_INCLUDE_DIRS
198 - ${LIBOKTETAKASTEN_INCLUDE_DIR}
199 + ${LIBOKTETA1KASTEN2_INCLUDE_DIR}
201 endif( LIBOKTETAKASTEN_FOUND )
203 +# Then search version 1
204 +if( NOT LIBOKTETAKASTEN_FOUND )
205 + find_library( LIBOKTETA1KASTEN1CORE_LIBRARY
213 + find_library( LIBOKTETA1KASTEN1GUI_LIBRARY
221 + find_library( LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY
223 + kasten1okteta1controllers
230 + find_path( LIBOKTETA1KASTEN1_INCLUDE_DIR
232 + bytearraydocument.h
236 + ${INCLUDE_INSTALL_DIR}
237 + ${KDE4_INCLUDE_DIR}
240 + if( LIBOKTETA1KASTEN1_INCLUDE_DIR AND
241 + LIBOKTETA1KASTEN1CORE_LIBRARY AND LIBOKTETA1KASTEN1GUI_LIBRARY AND LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY )
242 + set( LIBOKTETAKASTEN_FOUND TRUE )
243 + endif( LIBOKTETA1KASTEN1_INCLUDE_DIR AND
244 + LIBOKTETA1KASTEN1CORE_LIBRARY AND LIBOKTETA1KASTEN1GUI_LIBRARY AND LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY )
246 + if( LIBOKTETAKASTEN_FOUND )
247 + set( LIBOKTETAKASTEN_VERSION 1 )
248 + set( LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION 1 )
249 + set( LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION 1 )
250 + set( LIBOKTETAKASTEN_LIBRARIES
251 + ${LIBOKTETA1KASTEN1CORE_LIBRARY}
252 + ${LIBOKTETA1KASTEN1GUI_LIBRARY}
253 + ${LIBOKTETA1KASTEN1CONTROLLERS_LIBRARY}
255 + set( LIBOKTETAKASTEN_INCLUDE_DIRS
256 + ${LIBOKTETA1KASTEN1_INCLUDE_DIR}
258 + endif( LIBOKTETAKASTEN_FOUND )
259 +endif( NOT LIBOKTETAKASTEN_FOUND )
261 # Then search version 0
262 if( NOT LIBOKTETAKASTEN_FOUND )
263 find_library( LIBOKTETAKASTENCORE0_LIBRARY
264 @@ -112,6 +174,8 @@ if( NOT LIBOKTETAKASTEN_FOUND )
266 if( LIBOKTETAKASTEN_FOUND )
267 set( LIBOKTETAKASTEN_VERSION 0 )
268 + set( LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION 0 )
269 + set( LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION 0 )
270 set( LIBOKTETAKASTEN_INCLUDE_DIRS
271 ${LIBOKTETAKASTEN0_INCLUDE_DIR}
273 @@ -138,4 +202,6 @@ mark_as_advanced(
274 LIBOKTETAKASTEN_INCLUDE_DIRS
275 LIBOKTETAKASTEN_LIBRARIES
276 LIBOKTETAKASTEN_VERSION
277 + LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION
278 + LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION
280 diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
281 index 1545d8c..aa0a0e6 100644
282 --- a/utils/CMakeLists.txt
283 +++ b/utils/CMakeLists.txt
284 @@ -6,8 +6,8 @@ macro_log_feature( LIBOKTETAKASTEN_FOUND
287 if( LIBOKTETAKASTEN_FOUND )
288 -set( LIBOKTETA_FIND_VERSION ${LIBOKTETAKASTEN_VERSION} )
289 -set( LIBKASTEN_FIND_VERSION ${LIBOKTETAKASTEN_VERSION} )
290 +set( LIBOKTETA_FIND_VERSION ${LIBOKTETAKASTEN_NEEDS_OKTETA_VERSION} )
291 +set( LIBKASTEN_FIND_VERSION ${LIBOKTETAKASTEN_NEEDS_KASTEN_VERSION} )
292 macro_optional_find_package( LibOkteta )
293 macro_optional_find_package( LibKasten )
295 @@ -16,7 +16,7 @@ macro_log_feature( LIBOKTETA_FOUND
296 "" "Required for building Okteta KDevelop plugin."
298 macro_log_feature( LIBKASTEN_FOUND
299 - "libkasten v${LIBKASTEN_FIND_VERSION}" "Kasten libraries" "kdesk/okteta/libs" FALSE
300 + "libkasten v${LIBKASTEN_FIND_VERSION}" "Kasten libraries" "kdesk/okteta/libs/kasten" FALSE
301 "" "Required for building Okteta KDevelop plugin."
303 endif( LIBOKTETAKASTEN_FOUND )
304 diff --git a/utils/okteta/kastentoolviewwidget.cpp b/utils/okteta/kastentoolviewwidget.cpp
305 index b10974e..6ec4f69 100644
306 --- a/utils/okteta/kastentoolviewwidget.cpp
307 +++ b/utils/okteta/kastentoolviewwidget.cpp
310 #include <bytearrayview.h>
312 -#if KASTEN_VERSION == 1
313 +#if KASTEN_VERSION == 2
314 +#include <Kasten2/AbstractToolView>
315 +#include <Kasten2/AbstractTool>
316 +#elif KASTEN_VERSION == 1
317 #include <Kasten1/AbstractToolView>
318 #include <Kasten1/AbstractTool>
320 diff --git a/utils/okteta/kdevokteta.rc b/utils/okteta/kdevokteta.rc
321 index e5314cf..b9ac33c 100644
322 --- a/utils/okteta/kdevokteta.rc
323 +++ b/utils/okteta/kdevokteta.rc
325 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
326 -<gui name="okteta" version="1">
327 +<gui name="okteta" version="2">
330 <Action name="file_save" group="save_merge" /> <!-- TODO: why isn't this offered by the host? -->
332 <Separator group="edit_find_merge" />
333 <Action name="goto_offset" group="edit_find_merge" />
335 - <Menu name="view"><text>View</text>
336 - <Action name="view_zoom_in" group="view_operations" />
337 - <Action name="view_zoom_out" group="view_operations" />
338 - <Separator group="view_operations" />
339 - <Action name="view_showsnonprinting" group="view_operations" />
340 - <Action name="view_lineoffset" group="view_operations" />
341 - <Action name="togglecolumns" group="view_operations" />
342 - <Separator group="view_operations" />
343 - <Action name="view_valuecoding" group="view_operations" />
344 - <Action name="view_charencoding" group="view_operations" />
345 - <Separator group="view_operations" />
346 - <Action name="view_bytesperline" group="view_operations" />
347 - <Action name="view_bytespergroup" group="view_operations" />
348 - <Action name="resizestyle" group="view_operations" />
349 - <Action name="viewmode" group="view_operations" />
351 + <Menu name="editor">
353 + <Menu name="view"><text>View</text>
354 + <Action name="view_zoom_in" group="view_operations" />
355 + <Action name="view_zoom_out" group="view_operations" />
356 + <Separator group="view_operations" />
357 + <Action name="view_showsnonprinting" group="view_operations" />
358 + <Action name="view_lineoffset" group="view_operations" />
359 + <Action name="togglecolumns" group="view_operations" />
360 + <Separator group="view_operations" />
361 + <Action name="view_valuecoding" group="view_operations" />
362 + <Action name="view_charencoding" group="view_operations" />
363 + <Separator group="view_operations" />
364 + <Action name="view_bytesperline" group="view_operations" />
365 + <Action name="view_bytespergroup" group="view_operations" />
366 + <Action name="resizestyle" group="view_operations" />
367 + <Action name="viewmode" group="view_operations" />
369 + <Action name="view_profile" />
371 + <Menu name="bookmarks"><text>Bookmarks</text>
372 + <Action name="bookmark_add" />
373 + <Action name="bookmark_edit" />
375 + <Action name="bookmark_replace" />
376 + <Action name="bookmark_remove" />
377 + <Action name="bookmark_remove_all" />
379 + <Action name="bookmark_previous" />
380 + <Action name="bookmark_next" />
382 + <ActionList name="bookmark_list" />
386 - <Menu name="bookmarks"><text>Bookmarks</text>
387 - <Action name="bookmark_add" />
388 - <Action name="bookmark_edit" />
390 - <Action name="bookmark_replace" />
391 - <Action name="bookmark_remove" />
392 - <Action name="bookmark_remove_all" />
394 - <Action name="bookmark_previous" />
395 - <Action name="bookmark_next" />
397 - <ActionList name="bookmark_list" />
399 + <Menu name="settings">
400 + <Action name="settings_viewprofiles_manage" group="configure_merge" />
404 diff --git a/utils/okteta/oktetadocument.cpp b/utils/okteta/oktetadocument.cpp
405 index abb047d..6af5c11 100644
406 --- a/utils/okteta/oktetadocument.cpp
407 +++ b/utils/okteta/oktetadocument.cpp
409 #include "oktetadocument.h"
412 +#include "oktetaplugin.h"
413 #include "oktetaview.h"
415 -#if KASTEN_VERSION == 1
416 +#if KASTEN_VERSION == 2
417 +#include <kasten2/okteta1/bytearrayviewprofilemanager.h>
418 +#include <kasten2/okteta1/bytearrayviewprofilesynchronizer.h>
419 +#include <kasten2/okteta1/bytearrayrawfilesynchronizerfactory.h>
420 +#include <kasten2/okteta1/bytearraydocument.h>
421 +#elif KASTEN_VERSION == 1
422 #include <kasten1/okteta1/bytearrayrawfilesynchronizerfactory.h>
423 #include <kasten1/okteta1/bytearraydocument.h>
426 #include <kasten/bytearraydocument.h>
429 -#if KASTEN_VERSION == 1
430 +#if KASTEN_VERSION == 2
431 +#include <Kasten2/JobManager>
432 +#include <Kasten2/AbstractLoadJob>
433 +#include <Kasten2/AbstractSyncToRemoteJob>
434 +#include <Kasten2/AbstractSyncFromRemoteJob>
435 +#include <Kasten2/AbstractModelSynchronizer>
436 +#elif KASTEN_VERSION == 1
437 #include <Kasten1/JobManager>
438 #include <Kasten1/AbstractLoadJob>
439 #include <Kasten1/AbstractSyncToRemoteJob>
440 @@ -86,7 +98,11 @@ KTextEditor::Cursor OktetaDocument::cursorPosition() const { return KTextEditor:
441 IDocument::DocumentState OktetaDocument::state() const
443 return mByteArrayDocument ?
444 +#if KASTEN_VERSION == 2
445 + ( mByteArrayDocument->synchronizer()->localSyncState() == Kasten::LocalHasChanges ?
447 ( mByteArrayDocument->localSyncState() == Kasten::LocalHasChanges ?
449 IDocument::Modified :
452 @@ -105,7 +121,7 @@ bool OktetaDocument::save( IDocument::DocumentSaveMode mode )
454 Kasten::AbstractSyncToRemoteJob* syncJob = synchronizer->startSyncToRemote();
455 const bool syncSucceeded =
456 -#if KASTEN_VERSION == 1
457 +#if KASTEN_VERSION == 1 || KASTEN_VERSION == 2
458 Kasten::JobManager::executeJob( syncJob );
460 Kasten::JobManager::executeJob( syncJob, qApp->activeWindow() );
461 @@ -127,7 +143,7 @@ void OktetaDocument::reload()
463 Kasten::AbstractSyncFromRemoteJob* syncJob = synchronizer->startSyncFromRemote();
464 const bool syncSucceeded =
465 -#if KASTEN_VERSION == 1
466 +#if KASTEN_VERSION == 1 || KASTEN_VERSION == 2
467 Kasten::JobManager::executeJob( syncJob );
469 Kasten::JobManager::executeJob( syncJob, qApp->activeWindow() );
470 @@ -227,7 +243,10 @@ Sublime::View* OktetaDocument::newView( Sublime::Document* document )
471 Kasten::AbstractModelSynchronizer* synchronizer = synchronizerFactory->createSynchronizer();
473 Kasten::AbstractLoadJob* loadJob = synchronizer->startLoad( url() );
474 -#if KASTEN_VERSION == 1
475 +#if KASTEN_VERSION == 2
476 + connect( loadJob, SIGNAL(documentLoaded(Kasten2::AbstractDocument*)),
477 + SLOT(onByteArrayDocumentLoaded(Kasten2::AbstractDocument*)) );
478 +#elif KASTEN_VERSION == 1
479 connect( loadJob, SIGNAL(documentLoaded(Kasten1::AbstractDocument*)),
480 SLOT(onByteArrayDocumentLoaded(Kasten1::AbstractDocument*)) );
482 @@ -235,7 +254,7 @@ Sublime::View* OktetaDocument::newView( Sublime::Document* document )
483 SLOT(onByteArrayDocumentLoaded(Kasten::AbstractDocument*)) );
485 const bool syncSucceeded =
486 -#if KASTEN_VERSION == 1
487 +#if KASTEN_VERSION == 1 || KASTEN_VERSION == 2
488 Kasten::JobManager::executeJob( loadJob );
490 Kasten::JobManager::executeJob( loadJob, qApp->activeWindow() );
491 @@ -244,7 +263,15 @@ Sublime::View* OktetaDocument::newView( Sublime::Document* document )
492 delete synchronizerFactory;
495 +#if KASTEN_VERSION == 2
496 + Kasten::ByteArrayViewProfileManager* const viewProfileManager = mPlugin->viewProfileManager();
497 + Kasten::ByteArrayViewProfileSynchronizer* viewProfileSynchronizer =
498 + new Kasten::ByteArrayViewProfileSynchronizer( viewProfileManager );
499 + viewProfileSynchronizer->setViewProfileId( viewProfileManager->defaultViewProfileId() );
500 + return new OktetaView( this, viewProfileSynchronizer );
502 return new OktetaView( this );
506 bool OktetaDocument::closeDocument(bool silent)
507 @@ -257,7 +284,9 @@ void OktetaDocument::onByteArrayDocumentLoaded( Kasten::AbstractDocument* docume
510 mByteArrayDocument = static_cast<Kasten::ByteArrayDocument*>( document );
511 -#if KASTEN_VERSION == 1
512 +#if KASTEN_VERSION == 2
513 + connect( mByteArrayDocument, SIGNAL(localSyncStateChanged(Kasten2::LocalSyncState)),
514 +#elif KASTEN_VERSION == 1
515 connect( mByteArrayDocument, SIGNAL(localSyncStateChanged(Kasten1::LocalSyncState)),
517 connect( mByteArrayDocument, SIGNAL(localSyncStateChanged(Kasten::LocalSyncState)),
518 diff --git a/utils/okteta/oktetadocument.h b/utils/okteta/oktetadocument.h
519 index 56eba46..c03573a 100644
520 --- a/utils/okteta/oktetadocument.h
521 +++ b/utils/okteta/oktetadocument.h
522 @@ -85,7 +85,9 @@ class OktetaDocument : public Sublime::UrlDocument, public IDocument
524 void onByteArrayDocumentChanged();
525 // Moc is too primitive to know about namespace aliase
526 -#if KASTEN_VERSION == 1
527 +#if KASTEN_VERSION == 2
528 + void onByteArrayDocumentLoaded( Kasten2::AbstractDocument* document );
529 +#elif KASTEN_VERSION == 1
530 void onByteArrayDocumentLoaded( Kasten1::AbstractDocument* document );
532 void onByteArrayDocumentLoaded( Kasten::AbstractDocument* document );
533 diff --git a/utils/okteta/oktetaglobal.h b/utils/okteta/oktetaglobal.h
534 index 0113bbb..857ba55 100644
535 --- a/utils/okteta/oktetaglobal.h
536 +++ b/utils/okteta/oktetaglobal.h
538 #define OKTETAGLOBAL_H
540 // Adaptions for the different version of Kasten and Okteta
541 -#if KASTEN_VERSION == 1
542 +#if KASTEN_VERSION == 2
543 +namespace Kasten2 {}
544 +namespace Kasten = Kasten2;
545 +#define KASTEN_NAMESPACE Kasten2
546 +#elif KASTEN_VERSION == 1
548 namespace Kasten = Kasten1;
549 #define KASTEN_NAMESPACE Kasten1
550 diff --git a/utils/okteta/oktetaplugin.cpp b/utils/okteta/oktetaplugin.cpp
551 index c8a7fd4..5691959 100644
552 --- a/utils/okteta/oktetaplugin.cpp
553 +++ b/utils/okteta/oktetaplugin.cpp
555 #include <bookmarkstoolfactory.h>
556 #include <structurestoolviewfactory.h>
557 #include <structurestoolfactory.h>
559 +#if KASTEN_VERSION == 2
560 +#include <bytearrayviewprofilemanager.h>
563 #include <project/projectmodel.h>
564 #include <interfaces/icore.h>
565 @@ -77,15 +81,20 @@ void addTool( IUiController* uiController,
568 OktetaPlugin::OktetaPlugin( QObject* parent, const QVariantList& args )
569 - : IPlugin( OktetaPluginFactory::componentData(), parent ),
570 - mDocumentFactory( new OktetaDocumentFactory(this) )
571 + : IPlugin( OktetaPluginFactory::componentData(), parent )
572 + , mDocumentFactory( new OktetaDocumentFactory(this) )
573 +#if KASTEN_VERSION == 2
574 + , mViewProfileManager( new Kasten::ByteArrayViewProfileManager() )
579 +#if KASTEN_VERSION == 0 || KASTEN_VERSION == 1
580 KLocale* globalLocale = KGlobal::locale();
581 globalLocale->insertCatalog( QString::fromLatin1("liboktetacore") );
582 globalLocale->insertCatalog( QString::fromLatin1("libkasten") );
583 globalLocale->insertCatalog( QString::fromLatin1("liboktetakasten") );
586 IUiController* uiController = core()->uiController();
587 addTool( uiController, new Kasten::ChecksumToolViewFactory(), new Kasten::ChecksumToolFactory() );
588 diff --git a/utils/okteta/oktetaplugin.h b/utils/okteta/oktetaplugin.h
589 index 3eec9f7..d848aae 100644
590 --- a/utils/okteta/oktetaplugin.h
591 +++ b/utils/okteta/oktetaplugin.h
593 #ifndef OKTETAPLUGIN_H
594 #define OKTETAPLUGIN_H
597 +#include "oktetaglobal.h"
599 #include <interfaces/iplugin.h>
605 +namespace KASTEN_NAMESPACE
607 +class ByteArrayViewProfileManager;
612 @@ -48,11 +54,19 @@ class OktetaPlugin: public IPlugin
613 public: // KDevelop::IPlugin API
614 virtual ContextMenuExtension contextMenuExtension( Context* context );
616 +#if KASTEN_VERSION == 2
618 + Kasten::ByteArrayViewProfileManager* viewProfileManager() const { return mViewProfileManager; }
622 void onOpenTriggered();
625 OktetaDocumentFactory* mDocumentFactory;
626 +#if KASTEN_VERSION == 2
627 + Kasten::ByteArrayViewProfileManager* const mViewProfileManager;
629 QList<KUrl> mContextUrls;
632 diff --git a/utils/okteta/oktetatoolviewfactory.cpp b/utils/okteta/oktetatoolviewfactory.cpp
633 index ed0cf13..fffa24e 100644
634 --- a/utils/okteta/oktetatoolviewfactory.cpp
635 +++ b/utils/okteta/oktetatoolviewfactory.cpp
638 #include "kastentoolviewwidget.h"
640 -#if KASTEN_VERSION == 1
641 +#if KASTEN_VERSION == 2
642 +#include <Kasten2/AbstractToolViewFactory>
643 +#include <Kasten2/AbstractToolFactory>
644 +#include <Kasten2/AbstractToolView>
645 +#elif KASTEN_VERSION == 1
646 #include <Kasten1/AbstractToolViewFactory>
647 #include <Kasten1/AbstractToolFactory>
648 #include <Kasten1/AbstractToolView>
649 diff --git a/utils/okteta/oktetaview.cpp b/utils/okteta/oktetaview.cpp
650 index 249aaaa..d4142f3 100644
651 --- a/utils/okteta/oktetaview.cpp
652 +++ b/utils/okteta/oktetaview.cpp
657 +#if KASTEN_VERSION == 2
658 +OktetaView::OktetaView( OktetaDocument* document, Kasten::ByteArrayViewProfileSynchronizer* viewProfileSynchronizer )
659 + : Sublime::View( document, View::TakeOwnership ),
660 + mByteArrayView( new Kasten::ByteArrayView( document->byteArrayDocument(), viewProfileSynchronizer ) )
662 OktetaView::OktetaView( OktetaDocument* document )
663 : Sublime::View( document, View::TakeOwnership ),
664 mByteArrayView( new Kasten::ByteArrayView( document->byteArrayDocument() ) )
669 diff --git a/utils/okteta/oktetaview.h b/utils/okteta/oktetaview.h
670 index 29a6b39..6d2e655 100644
671 --- a/utils/okteta/oktetaview.h
672 +++ b/utils/okteta/oktetaview.h
674 #include <sublime/view.h>
676 namespace KASTEN_NAMESPACE {
677 +class ByteArrayViewProfileSynchronizer;
681 @@ -43,8 +44,11 @@ class OktetaView : public Sublime::View
685 +#if KASTEN_VERSION == 2
686 + OktetaView( OktetaDocument* document, Kasten::ByteArrayViewProfileSynchronizer* viewProfileSynchronizer );
688 explicit OktetaView( OktetaDocument* document );
691 virtual ~OktetaView();
694 diff --git a/utils/okteta/oktetawidget.cpp b/utils/okteta/oktetawidget.cpp
695 index 0fac371..cd020b7 100644
696 --- a/utils/okteta/oktetawidget.cpp
697 +++ b/utils/okteta/oktetawidget.cpp
699 #include <viewconfigcontroller.h>
700 #include <viewmodecontroller.h>
701 #include <viewstatuscontroller.h>
702 +#if KASTEN_VERSION == 2
703 +#include <viewprofilecontroller.h>
704 +#include <viewprofilesmanagecontroller.h>
707 #include <readonlycontroller.h>
708 // #include <document/readonly/readonlybarcontroller.h>
711 #include <sublime/view.h>
715 #include <KStandardAction>
716 #include <KActionCollection>
717 @@ -73,7 +78,7 @@ OktetaWidget::OktetaWidget( QWidget* parent, Kasten::ByteArrayView* byteArrayVie
718 setComponentData( plugin->componentData() );
719 setXMLFile( "kdevokteta.rc" );
722 + setupActions(plugin);
724 QVBoxLayout* layout = new QVBoxLayout( this );
725 layout->setMargin( 0 );
726 @@ -82,7 +87,7 @@ OktetaWidget::OktetaWidget( QWidget* parent, Kasten::ByteArrayView* byteArrayVie
727 setFocusProxy( widget );
730 -void OktetaWidget::setupActions()
731 +void OktetaWidget::setupActions(OktetaPlugin* plugin)
733 mControllers.append( new Kasten::VersionController(this) );
734 mControllers.append( new Kasten::ReadOnlyController(this) );
735 @@ -103,6 +108,15 @@ void OktetaWidget::setupActions()
736 mControllers.append( new Kasten::PrintController( this ) );
737 mControllers.append( new Kasten::ViewConfigController(this) );
738 mControllers.append( new Kasten::ViewModeController(this) );
739 +#if KASTEN_VERSION == 2
740 + Kasten::ByteArrayViewProfileManager* viewProfileManager = plugin->viewProfileManager();
741 + mControllers.append( new Kasten::ViewProfileController(viewProfileManager, mByteArrayView->widget(), this) );
742 + mControllers.append( new Kasten::ViewProfilesManageController(this, viewProfileManager, mByteArrayView->widget()) );
743 + // update the text of the viewprofiles_manage action, to make clear this is just for byte arrays
744 + QAction* viewprofilesManageAction = actionCollection()->action(QLatin1String("settings_viewprofiles_manage"));
745 + viewprofilesManageAction->setText( i18nc("@action:inmenu",
746 + "Manage Byte Array View Profiles...") );
749 // Kasten::StatusBar* bottomBar = static_cast<Kasten::StatusBar*>( statusBar() );
750 // mControllers.append( new ViewStatusController(bottomBar) );
751 @@ -111,7 +125,6 @@ void OktetaWidget::setupActions()
753 foreach( Kasten::AbstractXmlGuiController* controller, mControllers )
754 controller->setTargetModel( mByteArrayView );
757 QDesignerFormWindowManagerInterface* manager = mDocument->form()->core()->formWindowManager();
758 KActionCollection* ac = actionCollection();
759 diff --git a/utils/okteta/oktetawidget.h b/utils/okteta/oktetawidget.h
760 index dfc9907..e62e58e 100644
761 --- a/utils/okteta/oktetawidget.h
762 +++ b/utils/okteta/oktetawidget.h
763 @@ -55,10 +55,10 @@ class OktetaWidget : public QWidget, public KXMLGUIClient
768 - void setupActions();
770 + void setupActions(OktetaPlugin* plugin);
774 Kasten::ByteArrayView* mByteArrayView;
775 // TODO: move this to the plugin, per mainwindow
776 QList<Kasten::AbstractXmlGuiController*> mControllers;