diff --git a/harbour/ChangeLog b/harbour/ChangeLog
index f5936149cd..3df3b7e580 100644
--- a/harbour/ChangeLog
+++ b/harbour/ChangeLog
@@ -16,6 +16,15 @@
The license applies to all entries newer than 2009-04-28.
*/
+2011-06-15 11:53 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
+ * contrib/hbide/changelog.ui
+ * contrib/hbide/idechangelog.prg
+ * contrib/hbide/idesaveload.prg
+ * Changed: "Manage ChangeLog(s)" dialog -
and
+ entry fields are now editable drop-down combo boxes. They retain
+ the entered text for next run. The retained entries are inserted
+ alphabetically to retreive fast.
+
2011-06-14 22:09 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/ac_test.prg
! warnings
diff --git a/harbour/contrib/hbide/changelog.ui b/harbour/contrib/hbide/changelog.ui
index 99b21f3ec0..69c2c48248 100644
--- a/harbour/contrib/hbide/changelog.ui
+++ b/harbour/contrib/hbide/changelog.ui
@@ -68,41 +68,48 @@
0
- -
-
-
- false
+
-
+
+
+ Title
- -
+
-
+
+
+ true
+
+
+ QComboBox::InsertAlphabetically
+
+
+
+ -
Source:
- -
-
-
- -
+
-
Action:
- -
+
-
- -
+
-
QPlainTextEdit::NoWrap
- -
+
-
-
@@ -154,10 +161,19 @@
- -
-
-
- Title
+
-
+
+
+
+ 0
+ 0
+
+
+
+ true
+
+
+ QComboBox::InsertAlphabetically
diff --git a/harbour/contrib/hbide/idechangelog.prg b/harbour/contrib/hbide/idechangelog.prg
index d58b5019b6..e59890e187 100644
--- a/harbour/contrib/hbide/idechangelog.prg
+++ b/harbour/contrib/hbide/idechangelog.prg
@@ -172,6 +172,12 @@ METHOD IdeChangeLog:show()
::oINI:cUserChangeLog := hbide_fetchAString( ::oDlg:oWidget, ::oINI:cUserChangeLog, , "Developer Name" )
ENDIF
+ aeval( ::oINI:aLogTitle , {|e| ::oUI:q_comboTitle:insertItem( 0,e ) } )
+ aeval( ::oINI:aLogSources, {|e| ::oUI:q_comboSources:insertItem( 0,e ) } )
+
+ ::oUI:q_comboTitle:setCurrentIndex( -1 )
+ ::oUI:q_comboSources:setCurrentIndex( -1 )
+
::oUI:q_plainChangelog :setFont( ::oFont:oWidget )
::oUI:q_plainLogEntry :setFont( ::oFont:oWidget )
::oUI:q_plainCurrentLog :setFont( ::oFont:oWidget )
@@ -228,15 +234,23 @@ METHOD IdeChangeLog:execEvent( cEvent, p )
SWITCH cEvent
CASE "buttonTitle_clicked"
- IF ! empty( cTmp := ::oUI:q_editTitle:text() )
+ IF ! empty( cTmp := ::oUI:q_comboTitle:currentText() )
::addToLog( { "Title", cTmp, "" } )
::refresh()
+ IF ascan( ::oINI:aLogTitle, {|e| upper( e ) == cTmp } ) == 0
+ aadd( ::oINI:aLogTitle, cTmp )
+ ::oUI:q_comboTitle:insertItem( 0,cTmp )
+ ENDIF
ENDIF
EXIT
CASE "buttonSource_clicked"
- IF ! empty( cTmp := ::oUI:q_editSource:text() )
+ IF ! empty( cTmp := ::oUI:q_comboSources:currentText() )
::addToLog( { "Source", cTmp, "" } )
::refresh()
+ IF ascan( ::oINI:aLogSources, {|e| upper( e ) == cTmp } ) == 0
+ aadd( ::oINI:aLogSources, cTmp )
+ ::oUI:q_comboSources:insertItem( 0,cTmp )
+ ENDIF
ENDIF
EXIT
CASE "buttonDesc_clicked"
@@ -247,7 +261,7 @@ METHOD IdeChangeLog:execEvent( cEvent, p )
ENDIF
EXIT
CASE "buttonSrcDesc_clicked"
- IF ! empty( cTmp := ::oUI:q_editSource:text() )
+ IF ! empty( cTmp := ::oUI:q_comboSources:currentText() )
::addToLog( { "Source", cTmp, "" } )
ENDIF
IF ! empty( cTmp := ::oUI:q_plainCurrentLog:toPlainText() )
@@ -306,6 +320,7 @@ METHOD IdeChangeLog:execEvent( cEvent, p )
EXIT
CASE "editChangelog_textChanged"
IF ! empty( p ) .AND. hb_fileExists( p )
+ ::oINI:cChangeLog := p
::oUI:q_editChangelog:setStyleSheet( "" )
::updateLog()
ELSE
diff --git a/harbour/contrib/hbide/idesaveload.prg b/harbour/contrib/hbide/idesaveload.prg
index 7780f1b1fd..c84b8f3e0b 100644
--- a/harbour/contrib/hbide/idesaveload.prg
+++ b/harbour/contrib/hbide/idesaveload.prg
@@ -134,6 +134,8 @@ CLASS IdeINI INHERIT IdeObject
DATA aDbuPanelNames INIT {}
DATA aDbuPanelsInfo INIT {}
DATA aDictionaries INIT {}
+ DATA aLogTitle INIT {}
+ DATA aLogSources INIT {}
DATA cFontName INIT "Courier New"
DATA nPointSize INIT 10
@@ -543,6 +545,20 @@ METHOD IdeINI:save( cHbideIni )
NEXT
aadd( txt_, " " )
+ aadd( txt_, "[LOGTITLE]" )
+ aadd( txt_, " " )
+ FOR n := 1 TO len( ::aLogTitle )
+ aadd( txt_, "logtitle_" + hb_ntos( n ) + "=" + ::aLogTitle[ n ] )
+ NEXT
+ aadd( txt_, " " )
+
+ aadd( txt_, "[LOGSOURCES]" )
+ aadd( txt_, " " )
+ FOR n := 1 TO len( ::aLogSources )
+ aadd( txt_, "logsources_" + hb_ntos( n ) + "=" + ::aLogSources[ n ] )
+ NEXT
+ aadd( txt_, " " )
+
aadd( txt_, "[General]" )
aadd( txt_, " " )
@@ -620,6 +636,12 @@ METHOD IdeINI:load( cHbideIni )
CASE "[DICTIONARIES]"
nPart := "INI_DICTIONARIES"
EXIT
+ CASE "[LOGTITLE]"
+ nPart := "INI_LOGTITLE"
+ EXIT
+ CASE "[LOGSOURCES]"
+ nPart := "INI_LOGSOURCES"
+ EXIT
OTHERWISE
DO CASE
CASE Left( s, 1 ) $ '#['
@@ -799,6 +821,16 @@ METHOD IdeINI:load( cHbideIni )
aadd( ::aDictioaries, cVal )
ENDIF
+ CASE nPart == "INI_LOGTITLE"
+ IF hbide_parseKeyValPair( s, @cKey, @cVal )
+ aadd( ::aLogTitle, cVal )
+ ENDIF
+
+ CASE nPart == "INI_LOGSOURCES"
+ IF hbide_parseKeyValPair( s, @cKey, @cVal )
+ aadd( ::aLogSources, cVal )
+ ENDIF
+
ENDCASE
EXIT
ENDSWITCH
@@ -1480,12 +1512,12 @@ METHOD IdeSetup:show()
::setIcons()
::connectSlots()
+ ::oUI:q_stackedWidget:setCurrentIndex( 0 )
::oUI:hide()
ENDIF
::populate()
::oIde:setPosByIniEx( ::oUI:oWidget, ::oINI:cSetupDialogGeometry )
- //::oUI:exec()
::oUI:show()
RETURN Self