@@ -718,7 +718,7 @@ FUNCTION setRegistry RETURNS CHARACTER
718
718
&ANALYZE-SUSPEND _CREATE-WINDOW
719
719
/* DESIGN Window definition (used by the UIB)
720
720
CREATE WINDOW Procedure ASSIGN
721
- HEIGHT = 24.91
721
+ HEIGHT = 30.19
722
722
WIDTH = 53.4.
723
723
/* END WINDOW DEFINITION */
724
724
*/
@@ -1658,6 +1658,43 @@ END PROCEDURE. /* getDumpFileName */
1658
1658
1659
1659
&ENDIF
1660
1660
1661
+ &IF DEFINED (EXCLUDE-getFavourites ) = 0 &THEN
1662
+
1663
+ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE getFavourites Procedure
1664
+ PROCEDURE getFavourites :
1665
+ /* Extract favourites from config table into own tt
1666
+ */
1667
+ DEFINE OUTPUT PARAMETER TABLE FOR ttFavGroup .
1668
+
1669
+ DEFINE BUFFER bfConfig FOR ttConfig .
1670
+ DEFINE BUFFER btFavGroup FOR ttFavGroup .
1671
+
1672
+ EMPTY TEMP-TABLE ttFavGroup .
1673
+
1674
+ FOR EACH bfConfig
1675
+ WHERE bfConfig.cSection = ' DataDigger:Favourites'
1676
+ AND bfConfig.cSetting > " " :
1677
+
1678
+ CREATE btFavGroup .
1679
+ ASSIGN
1680
+ btFavGroup.cGroup = bfConfig.cSetting
1681
+ btFavGroup.cTables = bfConfig.cValue .
1682
+ END .
1683
+
1684
+ /* If no groups are found, create a default one */
1685
+ IF NOT CAN-FIND (FIRST btFavGroup ) THEN
1686
+ DO :
1687
+ CREATE btFavGroup .
1688
+ ASSIGN btFavGroup.cGroup = ' MyFavourites' .
1689
+ END .
1690
+
1691
+ END PROCEDURE . /* getFavourites */
1692
+
1693
+ /* _UIB-CODE-BLOCK-END */
1694
+ &ANALYZE-RESUME
1695
+
1696
+ &ENDIF
1697
+
1661
1698
&IF DEFINED (EXCLUDE-getFields ) = 0 &THEN
1662
1699
1663
1700
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE getFields Procedure
@@ -2427,18 +2464,6 @@ PROCEDURE getTableStats :
2427
2464
2428
2465
END . /* lastUsed */
2429
2466
2430
- ELSE
2431
- IF cLine MATCHES " *:Favourites=*" THEN
2432
- DO :
2433
- FIND FIRST ttTable
2434
- WHERE ttTable.cDatabase = cDatabase
2435
- AND ttTable.cTableName = ENTRY (1 ,cLine ,' :' ) NO-ERROR .
2436
-
2437
- IF AVAILABLE ttTable THEN
2438
- ttTable.cFavourites = ENTRY (2 ,cLine ,' =' ) NO-ERROR .
2439
-
2440
- END . /* favourite */
2441
-
2442
2467
END . /* repeat */
2443
2468
INPUT CLOSE .
2444
2469
@@ -3072,6 +3097,47 @@ END PROCEDURE. /* setCaching */
3072
3097
3073
3098
&ENDIF
3074
3099
3100
+ &IF DEFINED (EXCLUDE-setFavourite ) = 0 &THEN
3101
+
3102
+ &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE setFavourite Procedure
3103
+ PROCEDURE setFavourite :
3104
+ /* Set / unset / toggle a table as favourite
3105
+ */
3106
+ DEFINE INPUT PARAMETER pcTable AS CHARACTER NO-UNDO .
3107
+ DEFINE INPUT PARAMETER pcGroupName AS CHARACTER NO-UNDO .
3108
+ DEFINE INPUT PARAMETER plFavourite AS LOGICAL NO-UNDO .
3109
+
3110
+ DEFINE VARIABLE i AS INTEGER NO-UNDO .
3111
+ DEFINE VARIABLE cList AS CHARACTER NO-UNDO .
3112
+
3113
+ cList = getRegistry (" DataDigger:Favourites" , pcGroupName ).
3114
+ IF cList = ? THEN cList = ' ' .
3115
+ i = LOOKUP (pcTable , cList ).
3116
+
3117
+ /* Toggle setting? */
3118
+ IF plFavourite = ? THEN plFavourite = (i = 0 ).
3119
+
3120
+ /* Add to favourites */
3121
+ IF NOT plFavourite AND i > 0 THEN
3122
+ DO :
3123
+ ENTRY (i , cList ) = ' ' .
3124
+ cList = REPLACE (cList ,' ,,' ,' ,' ).
3125
+ cList = TRIM (cList ,' ,' ).
3126
+ END .
3127
+
3128
+ /* Remove from favourites */
3129
+ IF plFavourite AND i = 0 THEN
3130
+ cList = TRIM (SUBSTITUTE (' &1,&2' , cList , pcTable ),' ,' ).
3131
+
3132
+ setRegistry (" DataDigger:Favourites" , pcGroupName , cList ).
3133
+
3134
+ END PROCEDURE . /* setFavourite */
3135
+
3136
+ /* _UIB-CODE-BLOCK-END */
3137
+ &ANALYZE-RESUME
3138
+
3139
+ &ENDIF
3140
+
3075
3141
&IF DEFINED (EXCLUDE-setLabelPosition ) = 0 &THEN
3076
3142
3077
3143
&ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE setLabelPosition Procedure
@@ -5068,4 +5134,3 @@ END FUNCTION. /* setRegistry */
5068
5134
&ANALYZE-RESUME
5069
5135
5070
5136
&ENDIF
5071
-
0 commit comments