From 8ee20c433e0215ed5efa8787e5c352799d931e05 Mon Sep 17 00:00:00 2001 From: Pritpal Bedi Date: Fri, 9 Apr 2010 00:32:28 +0000 Subject: [PATCH] 2010-04-08 17:21 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbqt/hbqt_hbqplaintextedit.cpp ! Removed some debug calls. + contrib/hbide/resources/shortcuts.ui + contrib/hbide/resources/shortcuts.uic + Added shortcuts interface widget. * contrib/hbide/resources/themesex.ui * contrib/hbide/resources/themesex.uic ! Fixed some resizing issues when objects were appearing at dis-proportioned locations. * contrib/hbide/hbide.hbp * contrib/hbide/hbide.prg * contrib/hbide/ideactions.prg * contrib/hbide/idedocks.prg * contrib/hbide/ideeditor.prg * contrib/hbide/idemisc.prg * contrib/hbide/ideobject.prg * contrib/hbide/ideshortcuts.prg * contrib/hbide/idetools.prg * contrib/hbide/idewizard.prg * contrib/hbide/resources/check.png + Implemented: interface to define keyborad shortcuts. This implementation is like xMate and provides a powerful mechanism to write developer-friendly code to simulate exact same behavior he/she might be adept to other editors. The development is under progress, just play with its interface and let me know if some more elements can be added. More on http://hbide.vouch.info/ ( Topic: Keyboard Mappings ) --- harbour/ChangeLog | 34 ++ harbour/contrib/hbide/hbide.prg | 10 +- harbour/contrib/hbide/ideactions.prg | 6 +- harbour/contrib/hbide/idedocks.prg | 4 +- harbour/contrib/hbide/ideeditor.prg | 2 +- harbour/contrib/hbide/idemisc.prg | 3 +- harbour/contrib/hbide/ideobject.prg | 1 + harbour/contrib/hbide/ideshortcuts.prg | 445 +++++++++++++++++- harbour/contrib/hbide/idetools.prg | 2 +- harbour/contrib/hbide/idewizard.prg | 2 +- harbour/contrib/hbide/resources/check.png | Bin 0 -> 3315 bytes harbour/contrib/hbide/resources/shortcuts.ui | 200 ++++++++ harbour/contrib/hbide/resources/shortcuts.uic | 214 +++++++++ harbour/contrib/hbide/resources/themesex.ui | 96 ++-- harbour/contrib/hbide/resources/themesex.uic | 56 ++- .../contrib/hbqt/hbqt_hbqplaintextedit.cpp | 6 - 16 files changed, 974 insertions(+), 107 deletions(-) create mode 100644 harbour/contrib/hbide/resources/check.png create mode 100644 harbour/contrib/hbide/resources/shortcuts.ui create mode 100644 harbour/contrib/hbide/resources/shortcuts.uic diff --git a/harbour/ChangeLog b/harbour/ChangeLog index bd0bd6157a..351c324b5f 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,40 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-04-08 17:21 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) + * contrib/hbqt/hbqt_hbqplaintextedit.cpp + ! Removed some debug calls. + + + contrib/hbide/resources/shortcuts.ui + + contrib/hbide/resources/shortcuts.uic + + Added shortcuts interface widget. + + * contrib/hbide/resources/themesex.ui + * contrib/hbide/resources/themesex.uic + ! Fixed some resizing issues when objects were appearing at + dis-proportioned locations. + + * contrib/hbide/hbide.hbp + * contrib/hbide/hbide.prg + * contrib/hbide/ideactions.prg + * contrib/hbide/idedocks.prg + * contrib/hbide/ideeditor.prg + * contrib/hbide/idemisc.prg + * contrib/hbide/ideobject.prg + * contrib/hbide/ideshortcuts.prg + * contrib/hbide/idetools.prg + * contrib/hbide/idewizard.prg + * contrib/hbide/resources/check.png + + Implemented: interface to define keyborad shortcuts. + This implementation is like xMate and provides a powerful + mechanism to write developer-friendly code to simulate + exact same behavior he/she might be adept to other editors. + + The development is under progress, just play with its interface + and let me know if some more elements can be added. + + More on http://hbide.vouch.info/ ( Topic: Keyboard Mappings ) + 2010-04-08 13:37 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbide/idemisc.prg ! Fixed wrong concataion of path and file when path was empty. diff --git a/harbour/contrib/hbide/hbide.prg b/harbour/contrib/hbide/hbide.prg index b4ead6b5a4..bf6481dcad 100644 --- a/harbour/contrib/hbide/hbide.prg +++ b/harbour/contrib/hbide/hbide.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009 Pritpal Bedi + * Copyright 2009-2010 Pritpal Bedi * www - http://www.harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -140,6 +140,7 @@ CLASS HbIde DATA oPM /* Project Manager */ DATA oSM /* Souces Manager */ DATA oSK /* Skeletons Managet */ + DATA oSC /* Shortcuts Manager */ DATA oTM /* Plugin Tools Manager */ DATA oTH /* Themes Manager */ @@ -370,6 +371,9 @@ hbide_dbg( "HbIde:create( cProjIni )", "#Params=" ) /* Skeletons Manager */ ::oSK := IdeSkeletons():new( Self ):create() + /* Shortcuts */ + ::oSC := IdeShortcuts():new( Self ):create() + /* Initialte Project Manager */ ::oPM := IdeProjManager():new( Self ):create() @@ -577,6 +581,7 @@ hbide_dbg( "HbIde:create( cProjIni )", "#Params=" ) ::oTM:destroy() ::oSK:destroy() + ::oSC:destroy() ::oDW:destroy() ::oEV:destroy() ::oFN:destroy() @@ -673,6 +678,9 @@ METHOD HbIde:execAction( cKey ) ::nAnimantionMode := iif( ::nAnimantionMode == HBIDE_ANIMATION_NONE, HBIDE_ANIMATION_GRADIENT, HBIDE_ANIMATION_NONE ) ::oDK:animateComponents( ::nAnimantionMode ) EXIT + CASE "Shortcuts" + ::oSC:show() + EXIT CASE "NewProject" CASE "LoadProject" CASE "LaunchProject" diff --git a/harbour/contrib/hbide/ideactions.prg b/harbour/contrib/hbide/ideactions.prg index 46b5fa6bbd..54f11f2140 100644 --- a/harbour/contrib/hbide/ideactions.prg +++ b/harbour/contrib/hbide/ideactions.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009 Pritpal Bedi + * Copyright 2009-2010 Pritpal Bedi * www - http://www.harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -307,6 +307,7 @@ METHOD IdeActions:loadActions() aadd( aAct, { "Environments" , "Environments..." , "envconfig" , "" , "No", "Yes" } ) aadd( aAct, { "GotoFunc" , "Goto Function" , "dc_function" , "" , "No", "Yes" } ) + aadd( aAct, { "Shortcuts" , "Keyboard Mappings" , "" , "" , "No", "Yes" } ) RETURN aAct @@ -538,10 +539,11 @@ METHOD IdeActions:buildMainMenu() oMenuBar:addItem( { oSubMenu, NIL } ) /*----------------------------------------------------------------------------*/ - /* Options */ + /* Setup */ /*----------------------------------------------------------------------------*/ oSubMenu := XbpMenu():new( oMenuBar ):create() oSubMenu:title := "~Setup" + oSubMenu:addItem( { ::getAction( "Shortcuts" ), {|| oIde:execAction( "Shortcuts" ) } } ) oSubMenu2 := hbide_buildCodecMenu( oIde, oSubMenu ) oSubMenu2:title := "~Encoding" oSubMenu:addItem( { oSubMenu2, NIL } ) diff --git a/harbour/contrib/hbide/idedocks.prg b/harbour/contrib/hbide/idedocks.prg index 63fff9b19a..8370739de7 100644 --- a/harbour/contrib/hbide/idedocks.prg +++ b/harbour/contrib/hbide/idedocks.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009 Pritpal Bedi + * Copyright 2009-2010 Pritpal Bedi * www - http://www.harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -194,7 +194,7 @@ METHOD IdeDocks:buildDialog() ::oIde:oDlg := XbpDialog():new() ::oDlg:icon := hbide_image( "hbide" ) ::oDlg:title := "Harbour IDE" - ::oDlg:qtObject := HbQtUI():new( ::resPath + "mainwindow.uic" ):build() + ::oDlg:qtObject := HbQtUI():new( hbide_uic( "mainwindow" ) ):build() ::oDlg:create( , , , , , .f. ) ::oDlg:setStyleSheet( GetStyleSheet( "QMainWindow", ::nAnimantionMode ) ) diff --git a/harbour/contrib/hbide/ideeditor.prg b/harbour/contrib/hbide/ideeditor.prg index 18c2ed7a21..2a02c5685d 100644 --- a/harbour/contrib/hbide/ideeditor.prg +++ b/harbour/contrib/hbide/ideeditor.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2009 Pritpal Bedi + * Copyright 2009-2010 Pritpal Bedi * www - http://www.harbour-project.org * * This program is free software; you can redistribute it and/or modify diff --git a/harbour/contrib/hbide/idemisc.prg b/harbour/contrib/hbide/idemisc.prg index 971fb48323..b6905ae88d 100644 --- a/harbour/contrib/hbide/idemisc.prg +++ b/harbour/contrib/hbide/idemisc.prg @@ -1072,7 +1072,7 @@ FUNCTION hbide_help( nOption ) tit_ := 'About hbIde' AAdd( txt_, "Harbour IDE ( hbIDE )" ) AAdd( txt_, "Developed by" ) - AAdd( txt_, "Pritpal Bedi ( pritpal@vouchcac.com )" ) + AAdd( txt_, "Pritpal Bedi ( bedipritpal@hotmail.com )" ) AAdd( txt_, "" ) AAdd( txt_, "built with:" ) AAdd( txt_, HB_VERSION() ) @@ -1081,6 +1081,7 @@ FUNCTION hbide_help( nOption ) AAdd( txt_, "" ) AAdd( txt_, "Visit the project website at:" ) AAdd( txt_, "http://www.harbour-project.org/" ) + AAdd( txt_, "http://hbide.vouch.info/" ) EXIT CASE 2 diff --git a/harbour/contrib/hbide/ideobject.prg b/harbour/contrib/hbide/ideobject.prg index 4252b50344..086c41012b 100644 --- a/harbour/contrib/hbide/ideobject.prg +++ b/harbour/contrib/hbide/ideobject.prg @@ -95,6 +95,7 @@ CLASS IdeObject ACCESS oFN INLINE ::oIde:oFN ACCESS oDW INLINE ::oIde:oDW ACCESS oSK INLINE ::oIde:oSK + ACCESS oSC INLINE ::oIde:oSC ACCESS oTM INLINE ::oIde:oTM ACCESS oTH INLINE ::oIde:oTH ACCESS oFF INLINE ::oIde:oFF diff --git a/harbour/contrib/hbide/ideshortcuts.prg b/harbour/contrib/hbide/ideshortcuts.prg index 6b049f3015..e5ee1cbcb7 100644 --- a/harbour/contrib/hbide/ideshortcuts.prg +++ b/harbour/contrib/hbide/ideshortcuts.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2010 Pritpal Bedi + * Copyright 2010 Pritpal Bedi * www - http://www.harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -71,11 +71,31 @@ /*----------------------------------------------------------------------*/ +#define listMethods_itemDoubleClicked 101 +#define listMethods_currentRowChanged 102 +#define tableMacros_itemSelectionChanged 103 +#define tableMacros_itemDoubleClicked 104 +#define buttonSet_clicked 105 +#define buttonNew_clicked 106 + +/*----------------------------------------------------------------------*/ + CLASS IdeShortcuts INHERIT IdeObject + DATA aHdr INIT {} + DATA aKeys INIT {} + DATA aMethods INIT {} + DATA aMtdItms INIT {} + DATA aDftSCuts INIT {} + DATA aDftSCutsItms INIT {} + METHOD new( oIde ) METHOD create( oIde ) METHOD destroy() + METHOD show() + METHOD execEvent( nMode, p ) + METHOD buildUI() + METHOD buildSignals() METHOD evalMacro( cString ) METHOD fetchAndExecMacro() @@ -85,6 +105,15 @@ CLASS IdeShortcuts INHERIT IdeObject METHOD getText() METHOD execTool( ... ) + METHOD loadDftSCuts() + METHOD loadMethods() + METHOD loadKeys() + + METHOD populateData( nMode ) + METHOD populateDftSCuts() + METHOD populateKeys() + METHOD populateMethods() + ENDCLASS /*----------------------------------------------------------------------*/ @@ -102,33 +131,398 @@ METHOD IdeShortcuts:create( oIde ) DEFAULT oIde TO ::oIde ::oIde := oIde + ::loadMethods() + ::loadKeys() + ::loadDftSCuts() + RETURN Self /*----------------------------------------------------------------------*/ METHOD IdeShortcuts:destroy() + LOCAL a_, qItm + + IF !empty( ::oUI ) + FOR EACH qItm IN ::aHdr + qItm := NIL + NEXT + ::aHdr := {} + + FOR EACH qItm IN ::aMtdItms + qItm := NIL + NEXT + ::aMtdItms := {} + + FOR EACH a_ IN ::aDftSCutsItms + FOR EACH qItm IN a_ + qItm := NIL + NEXT + NEXT + ::aDftSCutsItms := {} + + ::oUI:destroy() + ENDIF + RETURN Self /*----------------------------------------------------------------------*/ -METHOD IdeShortcuts:execTool( ... ) - RETURN ::oTM:execTool( ... ) +METHOD IdeShortcuts:show() + + IF empty( ::oUI ) + ::buildUI() + ::populateData( 1 ) + ENDIF + + ::oUI:show() + ::oUI:raise() + + RETURN Self /*----------------------------------------------------------------------*/ -METHOD IdeShortcuts:getWord( lSelect ) - RETURN ::oEM:getWord( lSelect ) +METHOD IdeShortcuts:execEvent( nMode, p ) + LOCAL nRow, nKey, cKey + + SWITCH nMode + CASE buttonNew_clicked + + EXIT + + CASE buttonSet_clicked + nRow := ::oUI:q_tableMacros:currentRow() + IF nRow >= 0 .AND. nRow < len( ::aDftSCuts ) + nRow++ + ::aDftSCuts[ nRow, 1 ] := ::oUI:q_editName:text() + ::aDftSCuts[ nRow, 2 ] := ::aKeys[ ::oUI:q_comboKey:currentIndex() + 1, 2 ] + ::aDftSCuts[ nRow, 3 ] := iif( ::oUI:q_checkAlt :isChecked(), "YES", "NO" ) + ::aDftSCuts[ nRow, 4 ] := iif( ::oUI:q_checkCtrl :isChecked(), "YES", "NO" ) + ::aDftSCuts[ nRow, 5 ] := iif( ::oUI:q_checkShift:isChecked(), "YES", "NO" ) + ::aDftSCuts[ nRow, 6 ] := ::oUI:q_editMenu:text() + ::aDftSCuts[ nRow, 7 ] := ::oUI:q_plainBlock:toPlainText() + + ::aDftSCutsItms[ nRow, 1 ]:setText( ::aDftSCuts[ nRow, 1 ] ) + ::aDftSCutsItms[ nRow, 2 ]:setText( ::aDftSCuts[ nRow, 2 ] ) + ::aDftSCutsItms[ nRow, 3 ]:setIcon( hbide_image( iif( ::aDftSCuts[ nRow, 3 ] == "YES", "check", "" ) ) ) + ::aDftSCutsItms[ nRow, 4 ]:setIcon( hbide_image( iif( ::aDftSCuts[ nRow, 4 ] == "YES", "check", "" ) ) ) + ::aDftSCutsItms[ nRow, 5 ]:setIcon( hbide_image( iif( ::aDftSCuts[ nRow, 5 ] == "YES", "check", "" ) ) ) + + ENDIF + EXIT + CASE tableMacros_itemDoubleClicked + + EXIT + CASE tableMacros_itemSelectionChanged + nRow := ::oUI:q_tableMacros:currentRow() + IF nRow >= 0 .AND. nRow < len( ::aDftSCuts ) + nRow++ + + ::oUI:q_editName:setText( ::aDftSCuts[ nRow, 1 ] ) + + cKey := ::aDftSCuts[ nRow, 2 ] + IF ( nKey := ascan( ::aKeys, {|e_| e_[ 2 ] == cKey } ) ) > 0 + ::oUI:q_comboKey:setCurrentIndex( nKey - 1 ) + ENDIF + + ::oUI:q_checkAlt :setChecked( ::aDftSCuts[ nRow, 3 ] == "YES" ) + ::oUI:q_checkCtrl :setChecked( ::aDftSCuts[ nRow, 4 ] == "YES" ) + ::oUI:q_checkShift:setChecked( ::aDftSCuts[ nRow, 5 ] == "YES" ) + + ::oUI:q_editMenu:setText( ::aDftSCuts[ nRow, 6 ] ) + + ::oUI:q_plainBlock:setPlainText( ::aDftSCuts[ nRow, 7 ] ) + ENDIF + EXIT + CASE listMethods_itemDoubleClicked + EXIT + CASE listMethods_currentRowChanged + IF p >= 0 .AND. p < len( ::aMethods ) + ::oUI:q_texteditSyntax:setPlainText( ::aMethods[ p+1, 2 ] ) + ENDIF + EXIT + ENDSWITCH + + RETURN Self /*----------------------------------------------------------------------*/ -METHOD IdeShortcuts:getLine( lSelect ) - RETURN ::oEM:getLine( lSelect ) +METHOD IdeShortcuts:buildUI() + LOCAL oTbl, n, qItm + LOCAL hdr_:= { { "Name", 190 }, { "Key", 50 }, { "Alt", 30 }, { "Ctrl", 30 }, { "Shift", 30 } } + + ::oUI := HbQtUI():new( hbide_uic( "shortcuts" ) ):build() + ::oUI:setWindowIcon( hbide_image( "hbide" ) ) + + oTbl := ::oUI:q_tableMacros /* Build Table Header */ + QHeaderView():from( oTbl:verticalHeader() ):hide() + QHeaderView():from( oTbl:horizontalHeader() ):stretchLastSection( .t. ) + oTbl:setAlternatingRowColors( .t. ) + oTbl:setColumnCount( len( hdr_ ) ) + oTbl:setShowGrid( .f. ) + oTbl:setSelectionMode( QAbstractItemView_SingleSelection ) + oTbl:setSelectionBehavior( QAbstractItemView_SelectRows ) + FOR n := 1 TO len( hdr_ ) + qItm := QTableWidgetItem():new() + qItm:setText( hdr_[ n,1 ] ) + oTbl:setHorizontalHeaderItem( n-1, qItm ) + oTbl:setColumnWidth( n-1, hdr_[ n,2 ] ) + aadd( ::aHdr, qItm ) + NEXT + + ::oUI:q_listMethods:setAlternatingRowColors( .t. ) /* Public Methods List */ + + ::buildSignals() + + RETURN Self /*----------------------------------------------------------------------*/ -METHOD IdeShortcuts:getText() - RETURN ::oEM:getText() +METHOD IdeShortcuts:buildSignals() + + ::oUI:signal( "buttonNew" , "clicked()" , {| | ::execEvent( buttonNew_clicked ) } ) + ::oUI:signal( "buttonSet" , "clicked()" , {| | ::execEvent( buttonSet_clicked ) } ) + + ::oUI:signal( "listMethods", "itemDoubleClicked(QLWItem)" , {|p| ::execEvent( listMethods_itemDoubleClicked, p ) } ) + ::oUI:signal( "listMethods", "currentRowChanged(int)" , {|p| ::execEvent( listMethods_currentRowChanged, p ) } ) + + ::oUI:signal( "tableMacros", "itemSelectionChanged()" , {| | ::execEvent( tableMacros_itemSelectionChanged ) } ) + ::oUI:signal( "tableMacros", "itemDoubleClicked(QTblWItem)", {|p| ::execEvent( tableMacros_itemDoubleClicked, p ) } ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:populateData( nMode ) + + IF nMode == 1 + ::populateMethods() + ::populateKeys() + ::populateDftSCuts() + ENDIF + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:populateDftSCuts() + LOCAL a_, q1,q2,q3,q4,q5, n + LOCAL oTbl := ::oUI:q_tableMacros + + oTbl:setRowCount( len( ::aDftSCuts ) ) + + n := 0 + FOR EACH a_ IN ::aDftSCuts + q1 := QTableWidgetItem():new() + q1:setText( a_[ 1 ] ) + oTbl:setItem( n, 0, q1 ) + + q2 := QTableWidgetItem():new() + q2:setText( a_[ 2 ] ) + oTbl:setItem( n, 1, q2 ) + + q3 := QTableWidgetItem():new() + q3:setIcon( iif( a_[ 3 ] == "YES", hbide_image( "check" ), "" ) ) + oTbl:setItem( n, 2, q3 ) + + q4 := QTableWidgetItem():new() + q4:setIcon( iif( a_[ 4 ] == "YES", hbide_image( "check" ), "" ) ) + oTbl:setItem( n, 3, q4 ) + + q5 := QTableWidgetItem():new() + q5:setIcon( iif( a_[ 5 ] == "YES", hbide_image( "check" ), "" ) ) + oTbl:setItem( n, 4, q5 ) + + oTbl:setRowHeight( n, 16 ) + QApplication():processEvents() + aadd( ::aDftSCutsItms, { q1, q2, q3, q4, q5 } ) + n++ + NEXT + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:populateMethods() + LOCAL qItem, a_ + LOCAL qLW := ::oUI:q_listMethods + + //qLW:setSortingEnabled( .t. ) + + FOR EACH a_ IN ::aMethods + IF !empty( a_[ 1 ] ) + qItem := QListWidgetItem():new() + qItem:setText( a_[ 1 ] ) + aadd( ::aMtdItms, qItem ) + qLW:addItem_1( qItem ) + ENDIF + NEXT + qLW:setCurrentRow( 0 ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:populateKeys() + LOCAL a_ + LOCAL oCB := ::oUI:q_comboKey + + FOR EACH a_ IN ::aKeys + oCB:addItem( a_[ 2 ] ) + NEXT + oCB:setCurrentIndex( -1 ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:loadDftSCuts() + + /* Name Key Alt Ctrl Sh Menu Expr Icon */ + // + aadd( ::aDftSCuts, { "Duplicate Line" , "D" , "NO", "YES", "NO", "", "", "" } ) + aadd( ::aDftSCuts, { "Current Line Up", "Up", "NO", "YES", "NO", "", "", "" } ) + + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:loadKeys() + LOCAL a_ + + aadd( ::aKeys, { Qt_Key_Escape , "Escape " } ) + aadd( ::aKeys, { Qt_Key_Tab , "Tab " } ) + aadd( ::aKeys, { Qt_Key_Backtab , "Backtab " } ) + aadd( ::aKeys, { Qt_Key_Backspace , "Backspace " } ) + aadd( ::aKeys, { Qt_Key_Return , "Return " } ) + aadd( ::aKeys, { Qt_Key_Enter , "Enter " } ) + aadd( ::aKeys, { Qt_Key_Insert , "Insert " } ) + aadd( ::aKeys, { Qt_Key_Delete , "Delete " } ) + aadd( ::aKeys, { Qt_Key_Pause , "Pause " } ) + aadd( ::aKeys, { Qt_Key_Print , "Print " } ) + aadd( ::aKeys, { Qt_Key_SysReq , "SysReq " } ) + aadd( ::aKeys, { Qt_Key_Clear , "Clear " } ) + aadd( ::aKeys, { Qt_Key_Home , "Home " } ) + aadd( ::aKeys, { Qt_Key_End , "End " } ) + aadd( ::aKeys, { Qt_Key_Left , "Left " } ) + aadd( ::aKeys, { Qt_Key_Up , "Up " } ) + aadd( ::aKeys, { Qt_Key_Right , "Right " } ) + aadd( ::aKeys, { Qt_Key_Down , "Down " } ) + aadd( ::aKeys, { Qt_Key_PageUp , "PageUp " } ) + aadd( ::aKeys, { Qt_Key_PageDown , "PageDown " } ) + aadd( ::aKeys, { Qt_Key_CapsLock , "CapsLock " } ) + aadd( ::aKeys, { Qt_Key_NumLock , "NumLock " } ) + aadd( ::aKeys, { Qt_Key_ScrollLock , "ScrollLock " } ) + aadd( ::aKeys, { Qt_Key_F1 , "F1 " } ) + aadd( ::aKeys, { Qt_Key_F2 , "F2 " } ) + aadd( ::aKeys, { Qt_Key_F3 , "F3 " } ) + aadd( ::aKeys, { Qt_Key_F4 , "F4 " } ) + aadd( ::aKeys, { Qt_Key_F5 , "F5 " } ) + aadd( ::aKeys, { Qt_Key_F6 , "F6 " } ) + aadd( ::aKeys, { Qt_Key_F7 , "F7 " } ) + aadd( ::aKeys, { Qt_Key_F8 , "F8 " } ) + aadd( ::aKeys, { Qt_Key_F9 , "F9 " } ) + aadd( ::aKeys, { Qt_Key_F10 , "F10 " } ) + aadd( ::aKeys, { Qt_Key_F11 , "F11 " } ) + aadd( ::aKeys, { Qt_Key_F12 , "F12 " } ) + aadd( ::aKeys, { Qt_Key_F13 , "F13 " } ) + aadd( ::aKeys, { Qt_Key_F14 , "F14 " } ) + aadd( ::aKeys, { Qt_Key_F15 , "F15 " } ) + aadd( ::aKeys, { Qt_Key_F16 , "F16 " } ) + aadd( ::aKeys, { Qt_Key_F17 , "F17 " } ) + aadd( ::aKeys, { Qt_Key_F18 , "F18 " } ) + aadd( ::aKeys, { Qt_Key_F19 , "F19 " } ) + aadd( ::aKeys, { Qt_Key_F20 , "F20 " } ) + aadd( ::aKeys, { Qt_Key_F21 , "F21 " } ) + aadd( ::aKeys, { Qt_Key_F22 , "F22 " } ) + aadd( ::aKeys, { Qt_Key_F23 , "F23 " } ) + aadd( ::aKeys, { Qt_Key_F24 , "F24 " } ) + aadd( ::aKeys, { Qt_Key_F25 , "F25 " } ) + aadd( ::aKeys, { Qt_Key_F26 , "F26 " } ) + aadd( ::aKeys, { Qt_Key_F27 , "F27 " } ) + aadd( ::aKeys, { Qt_Key_F28 , "F28 " } ) + aadd( ::aKeys, { Qt_Key_F29 , "F29 " } ) + aadd( ::aKeys, { Qt_Key_F30 , "F30 " } ) + aadd( ::aKeys, { Qt_Key_F31 , "F31 " } ) + aadd( ::aKeys, { Qt_Key_F32 , "F32 " } ) + aadd( ::aKeys, { Qt_Key_F33 , "F33 " } ) + aadd( ::aKeys, { Qt_Key_F34 , "F34 " } ) + aadd( ::aKeys, { Qt_Key_F35 , "F35 " } ) + aadd( ::aKeys, { Qt_Key_Space , "Space " } ) + aadd( ::aKeys, { Qt_Key_Exclam , "Exclam " } ) + aadd( ::aKeys, { Qt_Key_QuoteDbl , "QuoteDbl " } ) + aadd( ::aKeys, { Qt_Key_NumberSign , "NumberSign " } ) + aadd( ::aKeys, { Qt_Key_Dollar , "Dollar " } ) + aadd( ::aKeys, { Qt_Key_Percent , "Percent " } ) + aadd( ::aKeys, { Qt_Key_Ampersand , "Ampersand " } ) + aadd( ::aKeys, { Qt_Key_Apostrophe , "Apostrophe " } ) + aadd( ::aKeys, { Qt_Key_ParenLeft , "ParenLeft " } ) + aadd( ::aKeys, { Qt_Key_ParenRight , "ParenRight " } ) + aadd( ::aKeys, { Qt_Key_Asterisk , "Asterisk " } ) + aadd( ::aKeys, { Qt_Key_Plus , "Plus " } ) + aadd( ::aKeys, { Qt_Key_Comma , "Comma " } ) + aadd( ::aKeys, { Qt_Key_Minus , "Minus " } ) + aadd( ::aKeys, { Qt_Key_Period , "Period " } ) + aadd( ::aKeys, { Qt_Key_Slash , "Slash " } ) + aadd( ::aKeys, { Qt_Key_0 , "0 " } ) + aadd( ::aKeys, { Qt_Key_1 , "1 " } ) + aadd( ::aKeys, { Qt_Key_2 , "2 " } ) + aadd( ::aKeys, { Qt_Key_3 , "3 " } ) + aadd( ::aKeys, { Qt_Key_4 , "4 " } ) + aadd( ::aKeys, { Qt_Key_5 , "5 " } ) + aadd( ::aKeys, { Qt_Key_6 , "6 " } ) + aadd( ::aKeys, { Qt_Key_7 , "7 " } ) + aadd( ::aKeys, { Qt_Key_8 , "8 " } ) + aadd( ::aKeys, { Qt_Key_9 , "9 " } ) + aadd( ::aKeys, { Qt_Key_Colon , "Colon " } ) + aadd( ::aKeys, { Qt_Key_Semicolon , "Semicolon " } ) + aadd( ::aKeys, { Qt_Key_Less , "Less " } ) + aadd( ::aKeys, { Qt_Key_Equal , "Equal " } ) + aadd( ::aKeys, { Qt_Key_Greater , "Greater " } ) + aadd( ::aKeys, { Qt_Key_Question , "Question " } ) + aadd( ::aKeys, { Qt_Key_At , "At " } ) + aadd( ::aKeys, { Qt_Key_A , "A " } ) + aadd( ::aKeys, { Qt_Key_B , "B " } ) + aadd( ::aKeys, { Qt_Key_C , "C " } ) + aadd( ::aKeys, { Qt_Key_D , "D " } ) + aadd( ::aKeys, { Qt_Key_E , "E " } ) + aadd( ::aKeys, { Qt_Key_F , "F " } ) + aadd( ::aKeys, { Qt_Key_G , "G " } ) + aadd( ::aKeys, { Qt_Key_H , "H " } ) + aadd( ::aKeys, { Qt_Key_I , "I " } ) + aadd( ::aKeys, { Qt_Key_J , "J " } ) + aadd( ::aKeys, { Qt_Key_K , "K " } ) + aadd( ::aKeys, { Qt_Key_L , "L " } ) + aadd( ::aKeys, { Qt_Key_M , "M " } ) + aadd( ::aKeys, { Qt_Key_N , "N " } ) + aadd( ::aKeys, { Qt_Key_O , "O " } ) + aadd( ::aKeys, { Qt_Key_P , "P " } ) + aadd( ::aKeys, { Qt_Key_Q , "Q " } ) + aadd( ::aKeys, { Qt_Key_R , "R " } ) + aadd( ::aKeys, { Qt_Key_S , "S " } ) + aadd( ::aKeys, { Qt_Key_T , "T " } ) + aadd( ::aKeys, { Qt_Key_U , "U " } ) + aadd( ::aKeys, { Qt_Key_V , "V " } ) + aadd( ::aKeys, { Qt_Key_W , "W " } ) + aadd( ::aKeys, { Qt_Key_X , "X " } ) + aadd( ::aKeys, { Qt_Key_Y , "Y " } ) + aadd( ::aKeys, { Qt_Key_Z , "Z " } ) + aadd( ::aKeys, { Qt_Key_BracketLeft , "BracketLeft " } ) + aadd( ::aKeys, { Qt_Key_Backslash , "Backslash " } ) + aadd( ::aKeys, { Qt_Key_BracketRight , "BracketRight " } ) + aadd( ::aKeys, { Qt_Key_AsciiCircum , "AsciiCircum " } ) + aadd( ::aKeys, { Qt_Key_Underscore , "Underscore " } ) + aadd( ::aKeys, { Qt_Key_QuoteLeft , "QuoteLeft " } ) + aadd( ::aKeys, { Qt_Key_BraceLeft , "BraceLeft " } ) + aadd( ::aKeys, { Qt_Key_Bar , "Bar " } ) + aadd( ::aKeys, { Qt_Key_BraceRight , "BraceRight " } ) + aadd( ::aKeys, { Qt_Key_AsciiTilde , "AsciiTilde " } ) + + FOR EACH a_ IN ::aKeys + a_[ 2 ] := trim( a_[ 2 ] ) + NEXT + + RETURN Self /*----------------------------------------------------------------------*/ @@ -175,3 +569,36 @@ METHOD IdeShortcuts:fetchAndExecMacro() /*----------------------------------------------------------------------*/ +METHOD IdeShortcuts:loadMethods() + + aadd( ::aMethods, { "getWord( lSelect )", "Returns text of the word under cursor. If text appears as selected." } ) + aadd( ::aMethods, { "getLine( lSelect )", "Returns text of the current line. If text appears as selected." } ) + aadd( ::aMethods, { "getText()" , "Returns current selected text." } ) + aadd( ::aMethods, { "execTool( ... )" , "Executes a 'Tool' under tools menu or without an entry." } ) + #if 0 + aadd( ::aMethods, { "", "" } ) + #endif + RETURN Self + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:execTool( ... ) + RETURN ::oTM:execTool( ... ) + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:getWord( lSelect ) + RETURN ::oEM:getWord( lSelect ) + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:getLine( lSelect ) + RETURN ::oEM:getLine( lSelect ) + +/*----------------------------------------------------------------------*/ + +METHOD IdeShortcuts:getText() + RETURN ::oEM:getText() + +/*----------------------------------------------------------------------*/ + diff --git a/harbour/contrib/hbide/idetools.prg b/harbour/contrib/hbide/idetools.prg index 6f99b419f5..cea9c0bc64 100644 --- a/harbour/contrib/hbide/idetools.prg +++ b/harbour/contrib/hbide/idetools.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2010 Pritpal Bedi + * Copyright 2010 Pritpal Bedi * www - http://www.harbour-project.org * * This program is free software; you can redistribute it and/or modify diff --git a/harbour/contrib/hbide/idewizard.prg b/harbour/contrib/hbide/idewizard.prg index 47f365e137..bfcce42bac 100644 --- a/harbour/contrib/hbide/idewizard.prg +++ b/harbour/contrib/hbide/idewizard.prg @@ -5,7 +5,7 @@ /* * Harbour Project source code: * - * Copyright 2010 Pritpal Bedi + * Copyright 2010 Pritpal Bedi * www - http://www.harbour-project.org * * This program is free software; you can redistribute it and/or modify diff --git a/harbour/contrib/hbide/resources/check.png b/harbour/contrib/hbide/resources/check.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd8724f669783e2f49cf51b6a9c59277a9c2603 GIT binary patch literal 3315 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 x7VFF1f;2UrnbA}_L + + FormShortCuts + + + + 0 + 0 + 664 + 478 + + + + Shortcuts + + + + + + Public Methods + + + + + + + Description + + + + + + + + + + + + + Macros + + + + + + + + + + Name + + + + + + + + + + Key + + + + + + + + + + Alt + + + + + + + Ctrl + + + + + + + Shift + + + + + + + Menu + + + + + + + + + + + + + + 45 + 0 + + + + + 45 + 16777215 + + + + New + + + + + + + + 45 + 0 + + + + + 45 + 16777215 + + + + Set + + + + + + + + 45 + 0 + + + + + 45 + 16777215 + + + + Load + + + + + + + + 45 + 0 + + + + + 45 + 16777215 + + + + Save + + + + + + + + 45 + 0 + + + + + 45 + 16777215 + + + + SaveAs + + + + + + + + diff --git a/harbour/contrib/hbide/resources/shortcuts.uic b/harbour/contrib/hbide/resources/shortcuts.uic new file mode 100644 index 0000000000..8fe72f8dde --- /dev/null +++ b/harbour/contrib/hbide/resources/shortcuts.uic @@ -0,0 +1,214 @@ +/******************************************************************************** +** Form generated from reading ui file 'shortcuts.ui' +** +** Created: Wed Apr 7 12:19:23 2010 +** by: Qt User Interface Compiler version 4.5.2 +** +** WARNING! All changes made in this file will be lost when recompiling ui file! +********************************************************************************/ + +#ifndef SHORTCUTS_H +#define SHORTCUTS_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_FormShortCuts +{ +public: + QGridLayout *gridLayout; + QLabel *labelMethods; + QLabel *labelSyntax; + QListWidget *listMethods; + QTextEdit *texteditSyntax; + QLabel *labelMacros; + QTableWidget *tableMacros; + QLabel *labelName; + QLineEdit *editName; + QLabel *labelKey; + QComboBox *comboKey; + QCheckBox *checkAlt; + QCheckBox *checkCtrl; + QCheckBox *checkShift; + QLabel *labelMenu; + QLineEdit *editMenu; + QPlainTextEdit *plainBlock; + QPushButton *buttonNew; + QPushButton *buttonSet; + QPushButton *buttonLoad; + QPushButton *buttonSave; + QPushButton *buttonSaveAs; + + void setupUi(QWidget *FormShortCuts) + { + if (FormShortCuts->objectName().isEmpty()) + FormShortCuts->setObjectName(QString::fromUtf8("FormShortCuts")); + FormShortCuts->resize(664, 478); + gridLayout = new QGridLayout(FormShortCuts); + gridLayout->setObjectName(QString::fromUtf8("gridLayout")); + labelMethods = new QLabel(FormShortCuts); + labelMethods->setObjectName(QString::fromUtf8("labelMethods")); + + gridLayout->addWidget(labelMethods, 0, 0, 1, 1); + + labelSyntax = new QLabel(FormShortCuts); + labelSyntax->setObjectName(QString::fromUtf8("labelSyntax")); + + gridLayout->addWidget(labelSyntax, 0, 1, 1, 6); + + listMethods = new QListWidget(FormShortCuts); + listMethods->setObjectName(QString::fromUtf8("listMethods")); + + gridLayout->addWidget(listMethods, 1, 0, 1, 1); + + texteditSyntax = new QTextEdit(FormShortCuts); + texteditSyntax->setObjectName(QString::fromUtf8("texteditSyntax")); + + gridLayout->addWidget(texteditSyntax, 1, 1, 1, 6); + + labelMacros = new QLabel(FormShortCuts); + labelMacros->setObjectName(QString::fromUtf8("labelMacros")); + + gridLayout->addWidget(labelMacros, 2, 0, 1, 7); + + tableMacros = new QTableWidget(FormShortCuts); + tableMacros->setObjectName(QString::fromUtf8("tableMacros")); + + gridLayout->addWidget(tableMacros, 3, 0, 5, 1); + + labelName = new QLabel(FormShortCuts); + labelName->setObjectName(QString::fromUtf8("labelName")); + + gridLayout->addWidget(labelName, 3, 1, 1, 1); + + editName = new QLineEdit(FormShortCuts); + editName->setObjectName(QString::fromUtf8("editName")); + + gridLayout->addWidget(editName, 3, 2, 1, 5); + + labelKey = new QLabel(FormShortCuts); + labelKey->setObjectName(QString::fromUtf8("labelKey")); + + gridLayout->addWidget(labelKey, 4, 1, 1, 1); + + comboKey = new QComboBox(FormShortCuts); + comboKey->setObjectName(QString::fromUtf8("comboKey")); + + gridLayout->addWidget(comboKey, 4, 2, 1, 1); + + checkAlt = new QCheckBox(FormShortCuts); + checkAlt->setObjectName(QString::fromUtf8("checkAlt")); + + gridLayout->addWidget(checkAlt, 4, 3, 1, 2); + + checkCtrl = new QCheckBox(FormShortCuts); + checkCtrl->setObjectName(QString::fromUtf8("checkCtrl")); + + gridLayout->addWidget(checkCtrl, 4, 5, 1, 1); + + checkShift = new QCheckBox(FormShortCuts); + checkShift->setObjectName(QString::fromUtf8("checkShift")); + + gridLayout->addWidget(checkShift, 4, 6, 1, 1); + + labelMenu = new QLabel(FormShortCuts); + labelMenu->setObjectName(QString::fromUtf8("labelMenu")); + + gridLayout->addWidget(labelMenu, 5, 1, 1, 1); + + editMenu = new QLineEdit(FormShortCuts); + editMenu->setObjectName(QString::fromUtf8("editMenu")); + + gridLayout->addWidget(editMenu, 5, 2, 1, 5); + + plainBlock = new QPlainTextEdit(FormShortCuts); + plainBlock->setObjectName(QString::fromUtf8("plainBlock")); + + gridLayout->addWidget(plainBlock, 6, 1, 1, 6); + + buttonNew = new QPushButton(FormShortCuts); + buttonNew->setObjectName(QString::fromUtf8("buttonNew")); + buttonNew->setMinimumSize(QSize(45, 0)); + buttonNew->setMaximumSize(QSize(45, 16777215)); + + gridLayout->addWidget(buttonNew, 7, 1, 1, 1); + + buttonSet = new QPushButton(FormShortCuts); + buttonSet->setObjectName(QString::fromUtf8("buttonSet")); + buttonSet->setMinimumSize(QSize(45, 0)); + buttonSet->setMaximumSize(QSize(45, 16777215)); + + gridLayout->addWidget(buttonSet, 7, 2, 1, 1); + + buttonLoad = new QPushButton(FormShortCuts); + buttonLoad->setObjectName(QString::fromUtf8("buttonLoad")); + buttonLoad->setMinimumSize(QSize(45, 0)); + buttonLoad->setMaximumSize(QSize(45, 16777215)); + + gridLayout->addWidget(buttonLoad, 7, 3, 1, 1); + + buttonSave = new QPushButton(FormShortCuts); + buttonSave->setObjectName(QString::fromUtf8("buttonSave")); + buttonSave->setMinimumSize(QSize(45, 0)); + buttonSave->setMaximumSize(QSize(45, 16777215)); + + gridLayout->addWidget(buttonSave, 7, 4, 1, 2); + + buttonSaveAs = new QPushButton(FormShortCuts); + buttonSaveAs->setObjectName(QString::fromUtf8("buttonSaveAs")); + buttonSaveAs->setMinimumSize(QSize(45, 0)); + buttonSaveAs->setMaximumSize(QSize(45, 16777215)); + + gridLayout->addWidget(buttonSaveAs, 7, 6, 1, 1); + + + retranslateUi(FormShortCuts); + + QMetaObject::connectSlotsByName(FormShortCuts); + } // setupUi + + void retranslateUi(QWidget *FormShortCuts) + { + FormShortCuts->setWindowTitle(QApplication::translate("FormShortCuts", "Shortcuts", 0, QApplication::UnicodeUTF8)); + labelMethods->setText(QApplication::translate("FormShortCuts", "Public Methods", 0, QApplication::UnicodeUTF8)); + labelSyntax->setText(QApplication::translate("FormShortCuts", "Description", 0, QApplication::UnicodeUTF8)); + labelMacros->setText(QApplication::translate("FormShortCuts", "Macros", 0, QApplication::UnicodeUTF8)); + labelName->setText(QApplication::translate("FormShortCuts", "Name", 0, QApplication::UnicodeUTF8)); + labelKey->setText(QApplication::translate("FormShortCuts", "Key", 0, QApplication::UnicodeUTF8)); + checkAlt->setText(QApplication::translate("FormShortCuts", "Alt", 0, QApplication::UnicodeUTF8)); + checkCtrl->setText(QApplication::translate("FormShortCuts", "Ctrl", 0, QApplication::UnicodeUTF8)); + checkShift->setText(QApplication::translate("FormShortCuts", "Shift", 0, QApplication::UnicodeUTF8)); + labelMenu->setText(QApplication::translate("FormShortCuts", "Menu", 0, QApplication::UnicodeUTF8)); + buttonNew->setText(QApplication::translate("FormShortCuts", "New", 0, QApplication::UnicodeUTF8)); + buttonSet->setText(QApplication::translate("FormShortCuts", "Set", 0, QApplication::UnicodeUTF8)); + buttonLoad->setText(QApplication::translate("FormShortCuts", "Load", 0, QApplication::UnicodeUTF8)); + buttonSave->setText(QApplication::translate("FormShortCuts", "Save", 0, QApplication::UnicodeUTF8)); + buttonSaveAs->setText(QApplication::translate("FormShortCuts", "SaveAs", 0, QApplication::UnicodeUTF8)); + Q_UNUSED(FormShortCuts); + } // retranslateUi + +}; + +namespace Ui { + class FormShortCuts: public Ui_FormShortCuts {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // SHORTCUTS_H diff --git a/harbour/contrib/hbide/resources/themesex.ui b/harbour/contrib/hbide/resources/themesex.ui index 30729b2338..2d21429c27 100644 --- a/harbour/contrib/hbide/resources/themesex.ui +++ b/harbour/contrib/hbide/resources/themesex.ui @@ -7,7 +7,7 @@ 0 0 423 - 507 + 434 @@ -16,27 +16,15 @@ - - - 40 - 16777215 - - - Theme: + Themes - + - - - 40 - 16777215 - - - Items: + Items @@ -44,14 +32,14 @@ - 150 - 170 + 0 + 0 - 150 - 170 + 16777215 + 16777215 @@ -61,13 +49,13 @@ 0 - 170 + 0 16777215 - 170 + 16777215 @@ -94,14 +82,14 @@ - + Qt::Vertical - 32 - 63 + 72 + 45 @@ -119,10 +107,10 @@ - - + + - Preview: + Preview @@ -150,19 +138,6 @@ - - - - Qt::Vertical - - - - 20 - 26 - - - - @@ -184,19 +159,6 @@ - - - - Qt::Vertical - - - - 20 - 24 - - - - @@ -204,6 +166,32 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + diff --git a/harbour/contrib/hbide/resources/themesex.uic b/harbour/contrib/hbide/resources/themesex.uic index 6b20d4143d..c10b53dabd 100644 --- a/harbour/contrib/hbide/resources/themesex.uic +++ b/harbour/contrib/hbide/resources/themesex.uic @@ -1,7 +1,7 @@ /******************************************************************************** ** Form generated from reading ui file 'themesex.ui' ** -** Created: Wed Mar 10 22:01:39 2010 +** Created: Tue Apr 6 18:18:36 2010 ** by: Qt User Interface Compiler version 4.5.2 ** ** WARNING! All changes made in this file will be lost when recompiling ui file! @@ -37,50 +37,48 @@ public: QCheckBox *checkBold; QCheckBox *checkItalic; QCheckBox *checkUnderline; - QSpacerItem *verticalSpacer_3; + QSpacerItem *verticalSpacer; QPushButton *buttonColor; - QLabel *labelPreview; + QLabel *label; QPlainTextEdit *plainThemeText; QPushButton *buttonSave; QPushButton *buttonSaveAs; QPushButton *buttonCopy; - QSpacerItem *verticalSpacer; QPushButton *buttonDefault; QPushButton *buttonApply; QPushButton *buttonApplyAll; - QSpacerItem *verticalSpacer_2; QPushButton *buttonClose; + QSpacerItem *verticalSpacer_2; + QSpacerItem *verticalSpacer_3; void setupUi(QWidget *FormThemes) { if (FormThemes->objectName().isEmpty()) FormThemes->setObjectName(QString::fromUtf8("FormThemes")); - FormThemes->resize(423, 507); + FormThemes->resize(423, 434); gridLayout = new QGridLayout(FormThemes); gridLayout->setObjectName(QString::fromUtf8("gridLayout")); labelTheme = new QLabel(FormThemes); labelTheme->setObjectName(QString::fromUtf8("labelTheme")); - labelTheme->setMaximumSize(QSize(40, 16777215)); gridLayout->addWidget(labelTheme, 0, 0, 1, 1); labelItems = new QLabel(FormThemes); labelItems->setObjectName(QString::fromUtf8("labelItems")); - labelItems->setMaximumSize(QSize(40, 16777215)); - gridLayout->addWidget(labelItems, 0, 1, 1, 1); + gridLayout->addWidget(labelItems, 0, 1, 1, 2); listThemes = new QListWidget(FormThemes); listThemes->setObjectName(QString::fromUtf8("listThemes")); - listThemes->setMinimumSize(QSize(150, 170)); - listThemes->setMaximumSize(QSize(150, 170)); + listThemes->setMinimumSize(QSize(0, 0)); + listThemes->setMaximumSize(QSize(16777215, 16777215)); gridLayout->addWidget(listThemes, 1, 0, 5, 1); listItems = new QListWidget(FormThemes); listItems->setObjectName(QString::fromUtf8("listItems")); - listItems->setMinimumSize(QSize(0, 170)); - listItems->setMaximumSize(QSize(16777215, 170)); + listItems->setMinimumSize(QSize(0, 0)); + listItems->setMaximumSize(QSize(16777215, 16777215)); gridLayout->addWidget(listItems, 1, 1, 5, 1); @@ -99,9 +97,9 @@ public: gridLayout->addWidget(checkUnderline, 3, 2, 1, 1); - verticalSpacer_3 = new QSpacerItem(32, 63, QSizePolicy::Minimum, QSizePolicy::Expanding); + verticalSpacer = new QSpacerItem(72, 45, QSizePolicy::Minimum, QSizePolicy::Expanding); - gridLayout->addItem(verticalSpacer_3, 4, 2, 1, 1); + gridLayout->addItem(verticalSpacer, 4, 2, 1, 1); buttonColor = new QPushButton(FormThemes); buttonColor->setObjectName(QString::fromUtf8("buttonColor")); @@ -109,10 +107,10 @@ public: gridLayout->addWidget(buttonColor, 5, 2, 1, 1); - labelPreview = new QLabel(FormThemes); - labelPreview->setObjectName(QString::fromUtf8("labelPreview")); + label = new QLabel(FormThemes); + label->setObjectName(QString::fromUtf8("label")); - gridLayout->addWidget(labelPreview, 6, 0, 1, 1); + gridLayout->addWidget(label, 6, 0, 1, 3); plainThemeText = new QPlainTextEdit(FormThemes); plainThemeText->setObjectName(QString::fromUtf8("plainThemeText")); @@ -134,10 +132,6 @@ public: gridLayout->addWidget(buttonCopy, 9, 2, 1, 1); - verticalSpacer = new QSpacerItem(20, 26, QSizePolicy::Minimum, QSizePolicy::Expanding); - - gridLayout->addItem(verticalSpacer, 10, 2, 1, 1); - buttonDefault = new QPushButton(FormThemes); buttonDefault->setObjectName(QString::fromUtf8("buttonDefault")); @@ -153,15 +147,19 @@ public: gridLayout->addWidget(buttonApplyAll, 13, 2, 1, 1); - verticalSpacer_2 = new QSpacerItem(20, 24, QSizePolicy::Minimum, QSizePolicy::Expanding); - - gridLayout->addItem(verticalSpacer_2, 14, 2, 1, 1); - buttonClose = new QPushButton(FormThemes); buttonClose->setObjectName(QString::fromUtf8("buttonClose")); gridLayout->addWidget(buttonClose, 15, 2, 1, 1); + verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); + + gridLayout->addItem(verticalSpacer_2, 10, 2, 1, 1); + + verticalSpacer_3 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding); + + gridLayout->addItem(verticalSpacer_3, 14, 2, 1, 1); + retranslateUi(FormThemes); @@ -171,13 +169,13 @@ public: void retranslateUi(QWidget *FormThemes) { FormThemes->setWindowTitle(QApplication::translate("FormThemes", "Form", 0, QApplication::UnicodeUTF8)); - labelTheme->setText(QApplication::translate("FormThemes", "Theme:", 0, QApplication::UnicodeUTF8)); - labelItems->setText(QApplication::translate("FormThemes", "Items:", 0, QApplication::UnicodeUTF8)); + labelTheme->setText(QApplication::translate("FormThemes", "Themes", 0, QApplication::UnicodeUTF8)); + labelItems->setText(QApplication::translate("FormThemes", "Items", 0, QApplication::UnicodeUTF8)); checkBold->setText(QApplication::translate("FormThemes", "Bold", 0, QApplication::UnicodeUTF8)); checkItalic->setText(QApplication::translate("FormThemes", "Italic", 0, QApplication::UnicodeUTF8)); checkUnderline->setText(QApplication::translate("FormThemes", "Underline", 0, QApplication::UnicodeUTF8)); buttonColor->setText(QApplication::translate("FormThemes", "Color", 0, QApplication::UnicodeUTF8)); - labelPreview->setText(QApplication::translate("FormThemes", "Preview:", 0, QApplication::UnicodeUTF8)); + label->setText(QApplication::translate("FormThemes", "Preview", 0, QApplication::UnicodeUTF8)); buttonSave->setText(QApplication::translate("FormThemes", "Save", 0, QApplication::UnicodeUTF8)); buttonSaveAs->setText(QApplication::translate("FormThemes", "Save As", 0, QApplication::UnicodeUTF8)); buttonCopy->setText(QApplication::translate("FormThemes", "Copy", 0, QApplication::UnicodeUTF8)); diff --git a/harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp b/harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp index 9077798cba..b1a68f15ff 100644 --- a/harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp +++ b/harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp @@ -106,16 +106,10 @@ HBQPlainTextEdit::~HBQPlainTextEdit() disconnect( this, SIGNAL( updateRequest( const QRect &, int ) ) ); disconnect( this, SIGNAL( cursorPositionChanged() ) ); - HB_TRACE( HB_TR_ALWAYS, ( "HBQPlainTextEdit::~HBQPlainTextEdit( 1 )" ) ); - delete lineNumberArea; - HB_TRACE( HB_TR_ALWAYS, ( "HBQPlainTextEdit::~HBQPlainTextEdit( 2 )" ) ); - if( block ) hb_itemRelease( block ); - - HB_TRACE( HB_TR_ALWAYS, ( "HBQPlainTextEdit::~HBQPlainTextEdit( 3 )" ) ); } void HBQPlainTextEdit::hbSetEventBlock( PHB_ITEM pBlock )