-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathQuickAccessPopup.ahk
11328 lines (9074 loc) · 439 KB
/
QuickAccessPopup.ahk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
;===============================================
/*
Quick Access Popup
Written using AutoHotkey v1.1.23.00+ (http://ahkscript.org/)
By Jean Lalonde (JnLlnd on AHKScript.org forum)
Based on FoldersPopup from the same author
https://github.com/JnLlnd/FoldersPopup
initialy inspired by Robert Ryan's script DirMenu v2 (rbrtryn on AutoHotkey.com forum)
http://www.autohotkey.com/board/topic/91109-favorite-folders-popup-menu-with-gui/
who was maybe inspired by Savage's script FavoriteFolders
http://www.autohotkey.com/docs/scripts/FavoriteFolders.htm
or Rexx version Folder Menu
http://www.autohotkey.com/board/topic/13392-folder-menu-a-popup-menu-to-quickly-change-your-folders/
BUGS
TO-DO
HISTORY
=======
Version: 7.1.5 (2016-03-20)
- safety code to keep the focus on the popup menu, preventing the issue where, in some situations, the menu was not closing when clicking elsewhere or hitting Escape
- add the QAP feature "Close this menu" to force closing the menu if the issue mentionned above is still present
- add the "Close this menu" to the default menu created at first QAP execution (actual users must add it manually - Settings, Add buton, QAP Feature, Close this menu)
- keep command line parameters when reloading after changing language or theme in options
- stop display the popup menu on unsupported "Select Folder" dialog boxes (with TreeView)
- additional code to fix bug mouse pointer staying in "wait" state by error when saving options
- group calls to show popup menu in a centralized command ShowMenu
- update of Spanish, French, Italian and Portuguese language files
Version: 7.1.3/7.1.4 (2016-03-14)
- fix bug menu icons being unchecked be error after saving options
- fix bug mouse pointer staying in "wait" state by error when saving options
Version: 7.1.2 (2016-02-21)
- stop quitting QAP before downloading the new setup or portable install file (let user quit QAP during install)
- fix website landing plage URL if user checks for update, is already at the current version and visit site
- fix bug disable Display icons checkbox in Option when running on a server OS (icons are only supported on workstations)
Version: 7.1.1 (2016-02-15)
- fix black background bug on check for update screen
- fix wincmd.ini validation bug when adding a QAP feature
Version: 7.1 (2016-02-14)
NEW FEATURES:
- more friendly upgrade process with dialog box, direct download links and easy access to change log (will be visible when upgrading from 7.1 to next version)
- add "Shutdown Computer" and "Restart Computer" QAP features (existing users, select in "Add favorite" dialog box, and select favorite type "QAP Feature")
- add a "Restart Quick Access Popup" menu in the QAP system menu (right-click on the QAP icon in the Notification Area) to reload QAP after changes to the ini file
- create the QAPconnect.ini file from a default master if it does not already exist in the working directory (QAPconnect.ini will not be overwritten anymore when installing a new version)
TOTAL COMMANDER USERS:
- add the "TC Directory Hotlist" QAP feature showing the TC hotlist content in a hierarchical submenu
> for new users, "TC Directory Hotlist" menu is added to QAP main menu at the very first use of QAP if Total Commander is detected during installation
> existig users select in "Add favorite" dialog box, and select favorite type "QAP Feature" and choose "TC Directory Hotlist"
- add an option in "Options", "File Managers" tab, to set the TotalCommander WinCmd.ini file location
- support relative path and environment variables for WinCmd.ini path
- support Windows environment variables in TC Directory hotlist locations
BUG FIXES
- fix a bug in code refreshing Clipboard menu causing crash in some situations
- fix a bug in check for update, not remembering when user want to skip the new version
- make Total Commander and Directory Opus application paths saved in ini file as portable values (relative path including environment variables)
- make Total Commander and Directory Opus application paths saved in ini file as portable values (including environment variables)
Version: 7.0.9.7 BETA (2016-02-13)
- add Total Commander icon to QAP feature "TC Directory hotlist"
- support for special folders (starting with "::") in TC Directory hotlist, incuding Windows default icon
- if WinCmd.ini file is not found, give an error message when user try to add the QAP feature "TC Directory Hotlist"
- support relative path and environment variables for WinCmd.ini path
- support Windows environment variables in TC Directory hotlist locations
Version: 7.0.9.6 BETA (2016-02-12)
- add an option in Options, File Managers tab, to remember the TotalCommander WinCmd.ini file location
- save/retrieve option to/from QAP ini file
Version: 7.0.9.5 BETA (2016-02-12)
- add diagnostic code to investigate TC hotlist not opening favorite for some users
- remove/comment unused diagnostic code
Version: 7.0.9.3/7.0.9.4 BETA (2016-02-11)
- add a Restart QAP menu item to the Tray menu to reload QAP after changes in the ini file
- fix a bug in check for update, not remembering when user want to skip the new version
- more friendly upgrade process with dialog box, direct download links and easy access to change log
- add Shutdown and Restart QAP features (select in "Add favorite" dialog box, favorite type "QAP Feature")
- create QAPconnect.ini file from a default master only if it does not exist in the working directory (not overwritten anymore when installing a new version)
- add TC Directory hotlist QAP feature showing the hotlist content a hierarchical submenu (add a QAP feature favorite and select "TC Directory Hotlist")
- adding "TC Directory Hotlist" menu to QAP main menu at first QAP launch if Total Commander is activated
- removed Edit QAPconnect.ini item in tray menu
- fix bug found in v7.0.1 in code refreshing Clipboard menu
Version: 7.0.6 (2016-02-07)
- added Italian translation (thanks to Riccardo Leone!) and fixes to German translation
- add a one-time message informing users who open the QAP menu in a dialog box that an option has to be enabled in order to change folder in a dialog box
Version: 7.0.4/7.0.5 (2016-02-03)
- run at startup option enabled by default only when using the setup install mode (not enabled in portable install mode)
- enable check for updates option enabled by default only when using the setup install mode (not enabled in portable install mode)
- allow top and left positions to be negative in Add/Edit favorite dialog box, Window Options
- fixes in English text and German translation
- in v7.0.5 only version number was incremented
Version: 7.0.3 (2016-02-02)
- fix a typo in Paypal code making QAP donation being sent as Folders Popup donation
- support negative window positions which are normal in multi monitor workspaces
- updated translation tool for production version
Version: 7.0.2 (2016-02-01)
- temporarily removed code supporting PATH in Clipboard menu refresh causing slow down or crash when Clipboard contains URL
Version: 7.0.1 (2016-02-01)
- first production release
- removed languages not yet adapted from Folders Popup (Dutch, Corean and Italian)
- removed favorite windows options for document, application and link favorite types
- refresh dynamic menus "Drives" and "Recent Folders" after Options saved
Version: 6.5.4.1 beta (2016-01-30)
- remove "Drives" and "Recent Folders" from the main menu (back to separate menu) until background refresh solution is ready
- add "Add this Folder Express" QAP feature added
- enable mouse cursor to hand image when hovering buttons image or text in QAP GUI
- add error checking if g_strQAPconnectIniPath is missing
- fix buttons labels alignment in Settings
- v6.5.4.1 fix an error slowing down the menu display
Version: 6.5.3 beta (2016-01-24)
- addition of German translation
Version: 6.5.2 beta (2016-01-24)
- change the mouse cursor to the "wait" image during "Recent Folders" and "Drives" submenus refresh
- make "Recent Folders" and "Drives" submenus back integrated to the main menu (not a separate menu anymore)
- removed tooltip messages when refreshing Recent Folders and Drives menus
Version: 6.5.1 beta (2016-01-18)
- compiled with AHK binary of version 1.1.23.00 (fixing the broken dynamic submenus issue)
- disabled dynamic menus refresh background task ("Recent folders" and "Drives")
- reverted "Recent folders" menu to external menu (not integrated) until the refresh background task is fixed
- changed the "Drives" menu to external menu (not integrated) until the refresh background task is fixed
- update to Sweeden and Spanish language
Version: 6.4.4 beta (2016-01-10)
- little changes in the code refreshing the Clipboard menu, trying to find the source of the issue causing a crash of QAP during dynamic menus refresh
- fix bug with numeric shorcuts in Clipboard menu when there are more than 36 items in the menu
Version: 6.4.3 beta (2016-01-06)
- fix bug numeric shortcuts in submenu now always begin at 0
- fix bug icon not set properly when saving after edit favorite
- fix bug when setting alternative menu item hotkey to none, hotkey was not disabled before reboot of QAP
- remove unnecessary values in default ini file
- Addition of browsers to QAPconnect.ini list: ExplorerXP (v1.07), Far Manager (v3.0.4040), IrfanView (v4.38), SpeedCommander (v15.40.7700), Tablacus Explorer (v14.12.30), WinNC (v6.5) and XnView (v2.25)
(thanks to Roland Toth (tpr) for his help maintaining these settings - https://github.com/rolandtoth)
Version: 6.4.2 beta (2015-12-31)
- add numeric shortcuts to alternative menu
- fix bug when opening Alternative menu item having a shortcut reminder
- refresh alternative menu after options saved
- fix bug when moving multiple submenus or groups from one submenu to another, location was not updated properly
- fix bug hotkey to menu showing error if menu empty
- fix bug when trying to add favorite without selecting a favorite type
- remove support for FTP sites in Reopen menu (still supported in Switch menu)
Version: 6.4.1 beta (2015-12-29)
- new QAP feature "Drives" to show a menu listing drives on the system with label, free space, capacity and icon showing the drive type
- add the Drives QAP ferature to My QAP Essentials (for new users - old usrs must add it themselves)
- in default popup menu (for new users), move Add this folder QAP feature to main menu, below Settings
- refactor build and refresh of Clipboard, Drives, Recent Folders, Switch, and Reopen a Folder (aka Current Folders) submenus
- rename "Reuse an Open Folder" menu to "Reopen a Folder"
- rename "Switch to an open folder or application" menu to "Switch"
- add default hotkey +^W to Switch QAP feature menu (old users must add it themselves)
- make Recent Folders submenu integrated to the main menu (not a separate menu anymore)
- refresh Clipboard, Reopen a Folder, and Switch menus at each call to the main menu
- when submenu called open using its shortcut, check if it contains Clipboard, Reopen a Folder or Switch submenus and, if yes, refresh them
- abort Clipboard menu refresh if clipboard is too big (> 50 K)
- refresh Drives and Recent Folders in a background task and when the menu is called by its shortcut
- add the variable "DynamicMenusRefreshRate=10000" in ini file to set the refresh background task rate in milliseconds (by default 10 seconds)
- add diag code to save refresh times in the diag ini file (set DiagMode in folderspopup.ini to DiagMode=1)
- increase vertical distance between Add / Edit / Remove / Copy buttons in Settings
- create Startup shortcut at first execution (previously, users had to set the "
- removed debugging code in refresh Switch menu
Version: 6.3.2 beta (2015-12-21)
- fix FTP password label alignement in Add/Edit favorite dialog box
- addition of Spanish, Brazilian Portuguese and Swedish translations
- stop showing hidden apps in the running apps dropdown in Add/Edit application favorite
- fix misaligned label in FTP favorite
- add an option in Add/Edit application favorite to flag if we activate an exsiting instance instead of launching a new instance of the application
- add QAP feature Switch to an open folder (supporting Explorer and DOpus) or application
- reorder in main menu My QAP Essentials first before My Special Folders and reorder items insite My QAP Essentials menu
Version: 6.3.1 beta (2015-12-14)
- reading Windows folder icon in desktop.ini supporting IconResource (Vista+) and IconFile,IconIndex format (deprecated after XP)
- save Windows folder icon in desktop.ini using IconResource (Vista+), removing IconFile,IconIndex values deprecated after XP
- set folder to R attribute instead of S to show the custom icon in desktop.ini
- display numeric shortcuts and hotkey reminders in Alternative menu
- remove unused help links in Alternative menu tab in Options
- fix bug when reusing an open folder on a network drive
- does not show icon options in add/edit favorite if running on server OS (actually, icons are supported only on workstations)
- fix bug set Windows folder icon now detect if location is empty
- fix bug when cancelling assign hotkey, the previous hotkey was assigned
- fix bug Add Favorite QAP must show Settings window before Add favorite dialog box to set default destination menu and position
Version: 6.2.5 beta (2015-12-10)
- language files prepared for translators
- implement language debugging tool for translators
- change Settings header to include links to website help pages
Version: 6.2.4 beta (2015-12-07)
- fix bug unable to create folder, document or application favorite on read-only support
- French language translation and adjustments to original English language while translating to French
- rename "Power" menu/hotkey/features to "Alternative" menu/hotkey/features
- when adding favorite transform HTTP (WebDAV) folder and document location to network path (UNC format) for compatibility with Windows Explorer
- get current Windows folder icon (from desktop.ini file) and assign it as default for new folder favorites
- add link to Menu options tab of Add favorite window to set Windows folder icon to the icon currently selected for the favorite
- add link to Menu options tab of Add favorite window to remove Windows folder icon
- limit notification duration to 3 seconds for the message menu has been updated
Version: 6.2.3 beta (2015-11-21)
- more explicit error message if user try to copy submenu, group, separator or column break in settings
- add QAP feature "Get window title and class" and copy info to clipboard
- add button to launch this feature from the Exclusions list in Options
- add help line in favorite advanced settings about double-quotes for parameters
- support favorite locations with relative path, envvars and anywhere in PATH environment variables directories
- Clipboard feature supports relative path, envvars and files in PATH
- icons files support relative path, envvars and files in PATH
- favorite advanced setting "launch with" supports relative path, envvars and files in PATH
- external file managers configuration support relative path, envvars and apps in PATH
- detect Dopus at launch if dopus.exe in PATH or registry App Path key
- allow to edit favorite icon resource in input box (in format "iconfile,index")
- fix bug ghost variable values when add favorite is cancelled
Version: 6.2.2 beta (2015-11-12)
- fix bug minimal value for top/left window position can be 0, not 1
- improve exclusion lists management in Options, add help text and link, support exclusion based on window title or class
- trim each line in exclusion list when saving Options
- remove exclusions for keyboard QAP menu trigger
- change dev icon to red (beta is green, prod will be white)
Version: 6.2.1 beta (2015-11-08)
- renumbered and adapted for beta test phase
- same features as v6.1.7
Version: 6.1.7 alpha (2015-11-07)
- fix bug in Settings, after renaming a submenu, menus index was not updated causing errors when adding fav to submenus or browsing to parent menu
- refactor create a daily backup and keep the 20 last copies for alpha stage, last 10 for beta stage and last 5 for production version
- improve text for Change folder option and move it in first position of General tab
- fix bug when opening folder from popup menu in Settings
- fix bug invalid window position values when Add this folder from a dialog box
- remove default settings checkbox in fav advanced settings and adapt default FTP settings and label for TC
- fix bug path of folder on network (WebDAV) must not be expanded to absolute path
Version: 6.1.6 alpha (2015-11-05)
- sort entries in QAP feature Clipboard menu with files names and URLs merged
- open groups in Total Commander and Directory Opus in a new instance only if group is set to Replace existing windows; remove unnecessary /S switch for TC
- review how first group item is managed in TC and DOpus
- when copying a Special folder or a QAP Feature favorites in Settings, set properly the drop down to the copied value in first tab
Version: 6.1.5 alpha (2015-11-01)
- stop loading not updated translation files until they alre ready, causing error when upgrading from FP
- add Add This Folder QAP feature to My QAP Essentials menu
- fix title in Manage hotkeys dialog box
- add a 20 ms delay after TrayTip to improve display on Windows 10
- add option to TrayTip to stop sound (on Win 10 and maybe before)
- shorten TrayTip texts for better display on Win 10
- shorten executable file description for Win 10
- add a function to return OS version up to WIN_10
- update some menu icons for Windows 10
- update special folders initialization for Windows 10
- adaptation for the new approach implemented setup program using the common AppData folder as repository allowing system admin to setup QAP pour end users
- fix bug locations with system variable (like %APPDATA%) not being expanded before sent to Explorer
Version: 6.1.4 alpha (2015-10-18)
- add copy favorite button to Settings gui; copied favorite inherit all properties except hotkey
- add Ctrl+C hotkey to Settings gui to copy favorite, update gui hotkeys help text
- in groups, with Directory Opus or Total Commander, set in folders and FTP favorites in which side (left or right) display the favorite
- Ctrl+Right on a group in Settings gui now open the group
Version: 6.1.3 alpha (2015-10-17)
- remove Navigate Dialog from QAP features, now in Power menu
- remove Copy location to clipboard from QAP features, now in Power menu
- fix bug list of QAP features in Add Favorite including Power menu features by error
- fix bug validating window position for items without window position like menus
- fix bug after changing a hotkey twice before saving
- fix bug Power menu Copy Location was launching group
- fix bug Power menu Copy Location was copying inexsting favorite path for groups and QAP features items
- fix bug Power menu Open in new window was launching dummy folder
- improved Option, File managers intro text
Version: 6.1.2 alpha (2015-10-13)
- fix bug with file manager detection at startup
- fix bug in setup program installing QAPconnect.ini in the app folder instead of userapp folder
Version: 6.1.1 alpha (2015-10-12)
- support for custom file managers (in addition to Directory Opus and Total Commander) using the settings file QAPconnect.ini; thanks to Roland Toth (tpr) for his help maintaining these settings (https://github.com/rolandtoth)
- refactoring of custom file managers support (including Directory Opus and Total Commander), with a new user interface in Options to select the custom file manager
- add Edit QAPconnect.ini menu to Tray menu
- when running QAP under Win XP or Vista, show a message inviting user to run Folders Popup and qui QAP
- in Add/Edit Favorite dialog box, reword the checkbox label "Remember window position" to "Use default window position" and revert the checkbox behaviour
Version: 6.0.7 alpha (2015-10-01)
- support relative paths for icon file (but they have to be made relative in the ini file)
- fix bug when checking if a file exitst and location has relative path
- empty group settings when favorite is not a group
- stop making FTP favorite always open in a new window or tab
- QA that relative paths are fully supported in: folders, documents, applications, custom icons (relative path must be edited in ini file) and in advanced settings "launch with" and apps "start in" directory
- add windows identification parameter in FPconnect properties for the active file manager.
Version: 6.0.6 alpha (2015-09-27)
- open group completed but not fuly tested
- add an option in groups to determine if folder will be open with Explorer or the active alternative file manager (Directory Opus, Total Commander or FPconnect), FPconnect not fully supported yet
- making default URL encoding to true for FTP favorites, except for Total Commander always set FTP encoding to false
- fix bug, when folder name from DOpus includes HTML entities like apostrophe replaced by "apos;"
- current folders menu now supports FTP listers in DOpus
Version: 6.0.5 alpha (2015-09-25)
- create a daily backup of ini file for alpha versions users
- fix bug some special folders not working with TC and DOpus
- fix bug prevent inserting separator/column added before back link in menus
- fix bug when accepting change folder in dialog option with checkbox unchecked
- fix bug when DOpus or TC are not supported and we open menu in DOpus or TC window
- fix bug phantom defaut value in group advanced settings after another group has been edited
- fix bugs when moving multiple favorites to another menu
- fix bug power menu Edit a favorite can now edit a Group favorite
Version: 6.0.4 alpha (2015-09-23)
- disable non folder menu items (except QAP features) when power menu features "Change folder in dialog" and "Open in new window" are selected
- re-enable non folder menu items after power menu features is executed
- add an option to enable Change folder in dialog boxes with main QAP hotkeys and make sure user understands the risk of changing folder in non-file dialog boxes
- fix a bug with special folders when using class IDs in Total Commander
Version: 6.0.3 alpha (2015-09-20)
* New tab in Option to set power menu hotkeys
* Show Power menu hotkeys in Manage hotkeys dialog box
* Implement Power key feature "Edit favorite"
* Add Power menu feature "Copy location"
* Add power menu feature "Change folder in dialog box"
* Disable "Change folder in dialog box" in Power menu if target is not dialog box
* Stop changing folder in dialog with regular popup hotkeys (prevent changing values in a non-file dialog box)
* Enable favorite hotkey for sub-menus
* Implement check for update for alpha versions
Version 6.0.2 alpha (2015-09-15)
- First alpha test release. List of work done since v6.0.1:
Initialisation
--------------
System variables
Special folders
Popup menu hotkeys
Themes
Favorite Types
--------------
Convert favorite types: Folder, Document, Application, Special, URL, and Menu
Add favorite types: FTP, QAP and Group
QAP Features
------------
Implement QAP features as favorite type with features:
About: about dialog box
- Add This Folder: add the current folder to popup menu
- Clipboard: list of file paths or URL in clipboard
- Copy Favorite Location: copy location to clipboard
- Current Folders: list of folders open in Explorer or supported file managers
- Exit: quit QAP
- Help: help dialog box
- Hotkeys: list of favorite hotkeys and edit dialog box
- Options: options dialog box
- Recent Folders: list of Windows recent folders
- Settings: setting dialog box
- Support: support freeware dialog box
Use default language for QAP features name
Default hotkey to QAP features
Settings dialog box
-------------------
Build Settings dialog box
Open submenu when double-click in favorite list (use the Edit button to edit the menu item)
Add "back" navigation with ".." item in favorite list
Dialog box to manage favorite hotkeys
Remove one or muptiple favorites, remove submenu and underlying items
Add/Edit groups and manage them similarely to sub menus
Save Settings position when exiting
Favorites dialog box
--------------------
Add/Edit favorites dialog box with tabs: Basic Settings, Menu Options, Window Options and Advanced Settings
Add/Edit QAP features
Favorites hotkeys for all favorite types
Parameters advanced setting for all favorite types (except QAP features, Menus and Groups):
Launch with application advanced setting for all favorite types (except Application, QAP features, Menus and Groups)
Working directory advanced setting for application favorites
Add an application favorite by selecting its path form a dropdown list of running apps
Edit window position for favorite types Folder, Special folders and Application, with a configurable delay when resizing or moving
Remember current window position when using "Add this folder"
Implementy FTP favorite type with login name, password and an option to encode login name and password in URL
Implement Group favorite with configurable delay when opening group (restoring groupe not done yet)
Options
-------
Convert all FP options
Add an exclusion list to disable QAP mouse popup menu hotkey in the selected type of windows
Option to display or not the favorite shortcuts reminders in popup menu (full name or abbreviated name)
Menus
-----
Build main menu
Build Current Folders menu
Build Recent Folders menu
Build Tray menu
Add default "My Special folders" menu at first QAP use
Add default "Essential QAP Features" menu at first QAP use
Convert startup tray tip
Test if current target window can navigate folder
Test if current window is on exclusion list before showing popup up
When Current Folders and Clipboard are empty, attach an "empty" sub menu
Add group indicator [[]] to popup menu with nb of items in groups
Popup menu Hotkeys
------------------
New hotkey approach with two triggers:
1) QAP hotkey (mouse and keyboard), available in all windows, opens the popup menu to choose the favoriteto launch; if the favorite is a folder and the target app supports it (Explorer, dialog box or other file managers), the window is changed (navigate) to this folder
2) Alternative hotkey available in all windows, showing a menu of special features before showing the favorites menu (see "Alternative menu features" below)
Replace default keyboard FP hotkey Windows+A (#A) to Windows+W(#W) because #A is now a reserved shortcut in Windows 10
Actions
-------
Open favorite folders and special folders in current window (navigate) or in a new window (launch) if the target window supports navigation (Explorer, Dialog boxes, Directory Opus, TotalCommander, FPconnect and Console)
Navigate favorite with Clover (using keyboard input)
Run application wit working directory and parameters
Launch documents or URL with "launch with" application and parameters
Support location placeholders in parameters
Implement QAP features "Add this folder" and "Copy Location"
Add this folder remembers window position (for use when open the folder in a new window)
Add this folder supports known special folders (50 known special folders)
Open FTP favorite with login name and password in Explorer, Directory Opus and Total Commander
Resize and move window to remembered position when opening folder in a new window (working with Explorer, DOpus, TC, not working with FPconnect yet)
Resize and move window to remembered position when launching application, document or URL (working with some apps, not all, not fully tested)
Alternative menu features
-------------------------
Open folder in a new window (even if the target window could navigate to this folder)
(more to be implemented)
Third party file managers
-------------------------
Support for Directory Opus
Support for Total Commander
Support for other file managers via FPconnect
Transition
----------
ImportFPsettings.ahk:
- import favorites from Folders Popup and convert them to QAP format(replace all favorites)
- import options settings from Folders Popup to QAP (overwrite existing options)
InnoSetup installer
-------------------
Prepare the QAP setup file, including ImportFPsettings.exe
Version: 6.0.1 alpha (2015-05-11)
* Replace "FoldersPopup" with "QuickAccessPopup"
* Update @Ahk2Exe-SetVersion with "6.0.1 alpha"
* Update strCurrentVersion with "6.0.1 alpha"
* Update @Ahk2Exe-SetDescription with "Most handy Windows launcher. Freeware!"
* Distinct variables strAppNameFile for "QuickAccessPopup" and strAppNameText for "Quick Access Popup"
* Update strCurrentBranch with "alpha"
* Adapt for alpha version without version checking for alpha branch
* Replace "FoldersPopup" with "QuickAccessPopup" in InitFileInstall, and language variable names
* Replace "strTempDir" with "g_strTempDir"
SEE PREVIOUS HISTORY on FoldersPopup's GitHub or in FoldersPopup.ahk file
VARIABLES NAMING CONVENTION
---------------------------
typNameOfVariable
^^^^^^^^^^^^^^^^^ description of the variable content, with name sections from general to specific
typeNameOfVariable
^^^^ type of variable, str for strings, int for integers (any size), dbl for reals (not used in this app),
arr for arrays, obj for objects, menu for menus, etc.
g_typNameOfVariable
^ g_ for global, nothing for local
f_typNameOfVariable
^ f_ for form (Gui) variables
*/
;========================================================================================================================
!_010_COMPILER_DIRECTIVES:
;========================================================================================================================
; Doc: http://fincs.ahk4.net/Ahk2ExeDirectives.htm
; Note: prefix comma with `
;@Ahk2Exe-SetName Quick Access Popup
;@Ahk2Exe-SetDescription Quick Access Popup (freeware)
;@Ahk2Exe-SetVersion 7.1.5
;@Ahk2Exe-SetOrigFilename QuickAccessPopup.exe
;========================================================================================================================
!_011_INITIALIZATION:
;========================================================================================================================
#NoEnv
#SingleInstance force
#KeyHistory 0
ListLines, Off
DetectHiddenWindows, On ; On required for button centering function GuiCenterButtons
StringCaseSense, Off
ComObjError(False) ; we will do our own error handling
; avoid error message when shortcut destination is missing
; see http://ahkscript.org/boards/viewtopic.php?f=5&t=4477&p=25239#p25236
DllCall("SetErrorMode", "uint", SEM_FAILCRITICALERRORS := 1)
; make sure the default system mouse pointer are used after a QAP reload
SetWaitCursor(false)
Gosub, SetQAPWorkingDirectory
; Force A_WorkingDir to A_ScriptDir if uncomplied (development environment)
;@Ahk2Exe-IgnoreBegin
; Start of code for development environment only - won't be compiled
; see http://fincs.ahk4.net/Ahk2ExeDirectives.htm
SetWorkingDir, %A_ScriptDir%
ListLines, On
; to test user data directory: SetWorkingDir, %A_AppData%\Quick Access Popup
; / End of code for developement enviuronment only - won't be compiled
;@Ahk2Exe-IgnoreEnd
OnExit, CleanUpBeforeExit ; must be positioned before InitFileInstall to ensure deletion of temporary files
Gosub, InitFileInstall
Gosub, InitQAPconnectFile
Gosub, InitLanguageVariables
; --- Global variables
g_strAppNameFile := "QuickAccessPopup"
g_strAppNameText := "Quick Access Popup"
g_strCurrentVersion := "7.1.5" ; "major.minor.bugs" or "major.minor.beta.release"
g_strCurrentBranch := "prod" ; "prod", "beta" or "alpha", always lowercase for filename
g_strAppVersion := "v" . g_strCurrentVersion . (g_strCurrentBranch <> "prod" ? " " . g_strCurrentBranch : "")
g_blnDiagMode := False
g_strDiagFile := A_WorkingDir . "\" . g_strAppNameFile . "-DIAG.txt"
g_strIniFile := A_WorkingDir . "\" . g_strAppNameFile . ".ini"
g_blnMenuReady := false
g_arrSubmenuStack := Object()
g_arrSubmenuStackPosition := Object()
g_objIconsFile := Object()
g_objIconsIndex := Object()
g_strMenuPathSeparator := ">" ; spaces before/after are added only when submenus are added, separate submenu levels, not allowed in menu and group names
g_strGuiMenuSeparator := "----------------" ; single-line displayed as line separators, allowed in item names
g_strGuiMenuSeparatorShort := "---" ; short single-line displayed as line separators, allowed in item names
g_strGuiDoubleLine := "===" ; double-line displayed in column break and end of menu indicators, allowed in item names
g_strGroupIndicatorPrefix := Chr(171) ; group item indicator, not allolowed in any item name
g_strGroupIndicatorSuffix := Chr(187) ; displayed in Settings with g_strGroupIndicatorPrefix, and with number of items in menus, allowed in item names
g_intListW := "" ; Gui width captured by GuiSize and used to adjust columns in fav list
g_strEscapePipe := "Сþ" ; used to escape pipe in ini file, should not be in item names or location but not checked
g_objGuiControls := Object() ; to build Settings gui
g_strMouseButtons := ""
g_arrMouseButtons := ""
g_arrMouseButtonsText := ""
g_objClassIdOrPathByDefaultName := Object() ; used by InitSpecialFolders and CollectExplorers
g_objSpecialFolders := Object()
g_strSpecialFoldersList := ""
g_objQAPFeatures := Object()
g_objQAPFeaturesCodeByDefaultName := Object()
g_objQAPFeaturesDefaultNameByCode := Object()
g_objQAPFeaturesAlternativeCodeByOrder := Object()
g_strQAPFeaturesList := ""
g_objHotkeysByLocation := Object() ; Hotkeys by Location
g_strQAPconnectIniPath := A_WorkingDir . "\QAPconnect.ini"
g_strQAPconnectFileManager := ""
g_strQAPconnectAppFilename := ""
g_strQAPconnectCompanionFilename := ""
g_strQAPconnectAppPath := ""
g_strQAPconnectCommandLine := ""
g_strQAPconnectNewTabSwitch := ""
g_strQAPconnectCompanionPath := ""
;---------------------------------
; Initial validation
if InStr("WIN_VISTA|WIN_2003|WIN_XP|WIN_2000", A_OSVersion)
{
MsgBox, 4, %g_strAppNameFile%, % L(lOopsOSVerrsionError, g_strAppNameFile)
IfMsgBox, Yes
Run, http://code.jeanlalonde.ca/folderspopup/
ExitApp
}
; if the app runs from a zip file, the script directory is created under the system Temp folder
if InStr(A_ScriptDir, A_Temp) ; must be positioned after g_strAppNameFile is created
{
Oops(lOopsZipFileError, g_strAppNameFile)
ExitApp
}
;---------------------------------
; Set developement ini file
;@Ahk2Exe-IgnoreBegin
; Start of code for developement environment only - won't be compiled
if (A_ComputerName = "JEAN-PC") ; for my home PC
g_strIniFile := A_WorkingDir . "\" . g_strAppNameFile . "-HOME.ini"
else if InStr(A_ComputerName, "STIC") ; for my work hotkeys
g_strIniFile := A_WorkingDir . "\" . g_strAppNameFile . "-WORK.ini"
; / End of code for developement environment only - won't be compiled
;@Ahk2Exe-IgnoreEnd
;---------------------------------
; Init routines
; Keep gosubs in this order
Gosub, InitSystemArrays
Gosub, InitLanguages
Gosub, InitLanguageArrays
Gosub, InitSpecialFolders
Gosub, InitQAPFeatures
Gosub, InitGuiControls
Gosub, LoadIniFile
; must be after LoadIniFile
IniWrite, %g_strCurrentVersion%, %g_strIniFile%, Global, % "LastVersionUsed" . (g_strCurrentBranch = "alpha" ? "Alpha" : (g_strCurrentBranch = "beta" ? "Beta" : "Prod"))
if (g_blnDiagMode)
Gosub, InitDiagMode
if (g_blnUseColors)
Gosub, LoadThemeGlobal
; not sure it is required to have a physical file with .html extension - but keep it as is by safety
GetIcon4Location(g_strTempDir . "\default_browser_icon.html", g_strURLIconFile, g_intUrlIconIndex)
Gosub, BuildSwitchAndReopenFolderMenusInit ; will be refreshed at each popup menu call
Gosub, BuildClipboardMenuInit ; will be refreshed at each popup menu call
Gosub, BuildDrivesMenuInit ; show in separate menu until... ##### will be refreshed by a background task and after each popup menu call
Gosub, BuildRecentFoldersMenuInit ; show in separate menu until... ##### will be refreshed by a background task and after each popup menu call
Gosub, SetTimerRefreshDynamicMenus ; Drives, Recent Folders
Gosub, BuildTotalCommanderHotlist
Gosub, BuildMainMenu
Gosub, BuildAlternativeMenu
Gosub, LoadFavoriteHotkeys
Gosub, BuildGui
Gosub, BuildTrayMenu
if (g_blnCheck4Update)
Gosub, Check4Update
; the startup shortcut was created at first execution of LoadIniFile (if ini file did not exist)
IfExist, %A_Startup%\%g_strAppNameFile%.lnk
{
; if the startup shortcut exists, update it at each execution in case the exe filename changed
FileDelete, %A_Startup%\%g_strAppNameFile%.lnk
FileCreateShortcut, %A_ScriptFullPath%, %A_Startup%\%g_strAppNameFile%.lnk, %A_WorkingDir%
Menu, Tray, Check, %lMenuRunAtStartup%
}
if (g_blnDisplayTrayTip)
{
; 1 NavigateOrLaunchHotkeyMouse, 2 NavigateOrLaunchHotkeyKeyboard
TrayTip, % L(lTrayTipInstalledTitle, g_strAppNameText)
, % L(lTrayTipInstalledDetail
, HotkeySections2Text(strModifiers1, strMouseButton1, strOptionsKey1)
, HotkeySections2Text(strModifiers2, strMouseButton2, strOptionsKey2))
, , 17 ; 1 info icon + 16 no sound
Sleep, 20 ; tip from Lexikos for Windows 10 "Just sleep for any amount of time after each call to TrayTip" (http://ahkscript.org/boards/viewtopic.php?p=50389&sid=29b33964c05f6a937794f88b6ac924c0#p50389)
}
g_blnMenuReady := true
; Load the cursor and start the "hook" to change mouse cursor in Settings - See WM_MOUSEMOVE function below
objHandCursor := DllCall("LoadCursor", "UInt", NULL, "Int", 32649, "UInt") ; IDC_HAND
OnMessage(0x200, "WM_MOUSEMOVE")
; To prevent double-click on image static controls to copy their path to the clipboard - See WM_LBUTTONDBLCLK function below
; see http://www.autohotkey.com/board/topic/94962-doubleclick-on-gui-pictures-puts-their-path-in-your-clipboard/#entry682595
OnMessage(0x203, "WM_LBUTTONDBLCLK")
; To popup menu when left click on the tray icon - See AHK_NOTIFYICON function below
OnMessage(0x404, "AHK_NOTIFYICON")
; Respond to SendMessage sent by ImportFPsettings to signal that QAP is running
; No specific reason for 0x2224, except that is is > 0x1000 (http://ahkscript.org/docs/commands/OnMessage.htm)
OnMessage(0x2224, "REPLY_QAPISRUNNING")
; Create a mutex to allow Inno Setup to detect if FP is running before uninstall or update
DllCall("CreateMutex", "uint", 0, "int", false, "str", g_strAppNameFile . "Mutex")
return
;------------------------------------------------------------
;------------------------------------------------------------
#If, CanNavigate(A_ThisHotkey)
; empty - act as a handle for the "Hotkey, If" confition
#If
;------------------------------------------------------------
;------------------------------------------------------------
;------------------------------------------------------------
;------------------------------------------------------------
#If, CanLaunch(A_ThisHotkey)
; empty - act as a handle for the "Hotkey, If" confition
#If
;------------------------------------------------------------
;------------------------------------------------------------
;========================================================================================================================
!_012_GUI_HOTKEYS:
;========================================================================================================================
; Gui Hotkeys
#If WinActive(L(lGuiTitle, g_strAppNameText, g_strAppVersion)) ; main Gui title
^Up::
if (LV_GetCount("Selected") > 1)
Gosub, GuiMoveMultipleFavoritesUp
else
Gosub, GuiMoveFavoriteUp
return
^Down::
if (LV_GetCount("Selected") > 1)
Gosub, GuiMoveMultipleFavoritesDown
else
Gosub, GuiMoveFavoriteDown
return
^Right::
Gosub, HotkeyChangeMenu
return
^Left::
GuiControlGet, blnUpMenuVisible, Visible, f_picUpMenu
if (blnUpMenuVisible)
Gosub, GuiGotoPreviousMenu
return
^A::
LV_Modify(0, "Select")
return
^N::
Gosub, GuiAddFavoriteSelectType
return
Enter::
if (LV_GetCount("Selected") > 1)
Gosub, GuiMoveMultipleFavoritesToMenu
else
Gosub, GuiEditFavorite
return
Del::
if (LV_GetCount("Selected") > 1)
Gosub, GuiRemoveMultipleFavorites
else
Gosub, GuiRemoveFavorite
return
^C::
Gosub, GuiCopyFavorite
return
#If
; End of Gui Hotkeys
;========================================================================================================================
; END OF GUI HOTKEYS
;========================================================================================================================
;========================================================================================================================
!_015_INITIALIZATION_SUBROUTINES:
;========================================================================================================================
;-----------------------------------------------------------
SetQAPWorkingDirectory:
;-----------------------------------------------------------
/*
First, the whole story...
Check if what mode QAP is running:
- if the file "_do_not_remove_or_rename.txt" is in A_ScriptDir, we are in Setup mode
- else we are in Portable mode.
IF PORTABLE
If we are in Portable mode, we keep the A_WorkingDir and return. It is equal to A_ScriptDir except if the user set the "Start In" folder in a shortcut.
IF SETUP
In the Start Menu Group "Quick Access Popup", setup program created a shortcut with "Start In" set to "{commonappdata}\Quick Access Popup"
(the Start Menu Group is created under the All Users profile unless the user installing the app does not have administrative privileges,
in which case it is created in the user's profile).
If A_WorkingDir equals A_ScriptDir and we are Setup mode, it means that QAP has been launched directly in the Program Files directory
instead of using the Start menu or Startup shortcuts. In this situation, we know that the working directory has not been set properly.
We change it to "{commonappdata}\Quick Access Popup".
In "{commonappdata}\Quick Access Popup", setup program created or saved the file:
- "{commonappdata}\{#MyAppName}" the files quickaccesspopup-setup.ini" (used to set initial QAP language to setup program language)
If, during setup, the user selected the "Import Folders Popup settings and favorites" option, the setup program will import the FP settings
and create the file "quickaccesspopup.ini" in "{commonappdata}\Quick Access Popup". An administrator could also create this file that will
be used as a template to be copied to "{userappdata}\Quick Access Popup" when QAP is launched for the first time.
Normally, when the user starts QAP with the Start Group shortcut, A_WorkingDir is set to "{commonappdata}\Quick Access Popup".
If not, keep the A_WorkingDir set by the user and return.
If A_WorkingDir is "{commonappdata}\Quick Access Popup", check if "{userappdata}\Quick Access Popup" exists. If not, create it.
If the files "quickaccesspopup-setup.ini" and "quickaccesspopup.ini" do not exist in "{userappdata}\Quick Access Popup", copy them
from "{commonappdata}\Quick Access Popup".
Then, set A_WorkingDir to "{userappdata}\Quick Access Popup" and return.
AFTER A_WORKINGDIR IS SET (PORTABLE OR SETUP)
- QAP copy the FileInstall temporary icon and localisation files.
- QAP check if QAPconnect.ini exists in A_WorkingDir. If not, it creates a fresh one from the FileInstall file QAPconnect-default.ini.
If QAPconnect.ini already exists, it is not overwritten. Instead, a fresh copy of FileInstall file QAPconnect-default.ini is written to
A_WorkingDir where user can check if new file managers are supported.
- QAP check if quickaccesspopup.ini exists in A_WorkingDir. If not, it creates a new one, etc. (as in previous versions of FP and QAP).
If yes, it continues initialization with this file.
STARTUP SHORTCUT
If the "Run at startup" is enabled, a shortcut is created in the user's startup folder with "Start In" set to the current A_WorkingDir.
In Portable mode, A_WorkingDir is what the user decided. In Setup mode, A_WorkingDir is "{userappdata}\Quick Access Popup" (unless user changed it).
*/
; Now, step-by-step...
; Check in what mode QAP is running:
; - if the file "_do_not_remove_or_rename.txt" is in A_ScriptDir, we are in Setup mode
; - else we are in Portable mode.
; If we are in Portable mode, we keep the A_WorkingDir and return. It is equal to A_ScriptDir except if the user set the "Start In" folder in a shortcut.
if !FileExist(A_ScriptDir . "\_do_not_remove_or_rename.txt")
{
g_blnPortableMode := true ; set this variable for use later during init
return
}
else
g_blnPortableMode := false ; set this variable for use later during init
; Now we are in Setup mode
; If A_WorkingDir equals A_ScriptDir and we are Setup mode, it means that QAP has been launched directly in the Program Files directory
; instead of using the Start menu or Startup shortcuts. In this situation, we know that the working directory has not been set properly.
; We change it to "{commonappdata}\Quick Access Popup".
if (A_WorkingDir = A_ScriptDir) and FileExist(A_WorkingDir . "\_do_not_remove_or_rename.txt")
SetWorkingDir, %A_AppDataCommon%\Quick Access Popup
; Normally, when the user starts QAP with the Start Group shortcut, A_WorkingDir is set to "{commonappdata}\Quick Access Popup".
; If not, QAP was possibily launched with a Startup shortcut that set the A_WorkingDir to "{userappdata}\Quick Access Popup".
; Keep the A_WorkingDir set by the shortcut and return.
if (A_WorkingDir <> A_AppDataCommon . "\Quick Access Popup")
return
; If A_WorkingDir is "{commonappdata}\Quick Access Popup", check if "{userappdata}\Quick Access Popup" exists. If not, create it.
if !FileExist(A_AppData . "\Quick Access Popup")
FileCreateDir, %A_AppData%\Quick Access Popup
; If the files "quickaccesspopup-setup.ini" and "quickaccesspopup.ini" do not exist in "{userappdata}\Quick Access Popup",
; copy them from "{commonappdata}\Quick Access Popup".
if !FileExist(A_AppData . "\Quick Access Popup\quickaccesspopup-setup.ini")
FileCopy, %A_AppDataCommon%\Quick Access Popup\quickaccesspopup-setup.ini, %A_AppData%\Quick Access Popup
if !FileExist(A_AppData . "\Quick Access Popup\quickaccesspopup.ini")
FileCopy, %A_AppDataCommon%\Quick Access Popup\quickaccesspopup.ini, %A_AppData%\Quick Access Popup
; Then, set A_WorkingDir to "{userappdata}\Quick Access Popup" and return.
SetWorkingDir, %A_AppData%\Quick Access Popup
return
;-----------------------------------------------------------
;-----------------------------------------------------------
InitFileInstall:
;-----------------------------------------------------------
g_strTempDir := A_WorkingDir . "\_temp"
FileCreateDir, %g_strTempDir%
FileInstall, FileInstall\QuickAccessPopup_LANG_DE.txt, %g_strTempDir%\QuickAccessPopup_LANG_DE.txt, 1
FileInstall, FileInstall\QuickAccessPopup_LANG_FR.txt, %g_strTempDir%\QuickAccessPopup_LANG_FR.txt, 1
FileInstall, FileInstall\QuickAccessPopup_LANG_SV.txt, %g_strTempDir%\QuickAccessPopup_LANG_SV.txt, 1
FileInstall, FileInstall\QuickAccessPopup_LANG_ES.txt, %g_strTempDir%\QuickAccessPopup_LANG_ES.txt, 1
FileInstall, FileInstall\QuickAccessPopup_LANG_PT-BR.txt, %g_strTempDir%\QuickAccessPopup_LANG_PT-BR.txt, 1
FileInstall, FileInstall\QuickAccessPopup_LANG_IT.txt, %g_strTempDir%\QuickAccessPopup_LANG_IT.txt, 1
; FileInstall, FileInstall\QuickAccessPopup_LANG_NL.txt, %g_strTempDir%\QuickAccessPopup_LANG_NL.txt, 1
; FileInstall, FileInstall\QuickAccessPopup_LANG_KO.txt, %g_strTempDir%\QuickAccessPopup_LANG_KO.txt, 1
FileInstall, FileInstall\default_browser_icon.html, %g_strTempDir%\default_browser_icon.html, 1
FileInstall, FileInstall\about-32.png, %g_strTempDir%\about-32.png
FileInstall, FileInstall\add_property-48.png, %g_strTempDir%\add_property-48.png
FileInstall, FileInstall\delete_property-48.png, %g_strTempDir%\delete_property-48.png
FileInstall, FileInstall\copy-48.png, %g_strTempDir%\copy-48.png
FileInstall, FileInstall\keyboard-48.png, %g_strTempDir%\keyboard-48.png
FileInstall, FileInstall\separator-26.png, %g_strTempDir%\separator-26.png
FileInstall, FileInstall\column-26.png, %g_strTempDir%\column-26.png
FileInstall, FileInstall\down_circular-26.png, %g_strTempDir%\down_circular-26.png
FileInstall, FileInstall\edit_property-48.png, %g_strTempDir%\edit_property-48.png
FileInstall, FileInstall\generic_sorting2-26-grey.png, %g_strTempDir%\generic_sorting2-26-grey.png
FileInstall, FileInstall\help-32.png, %g_strTempDir%\help-32.png
FileInstall, FileInstall\left-12.png, %g_strTempDir%\left-12.png
FileInstall, FileInstall\settings-32.png, %g_strTempDir%\settings-32.png
FileInstall, FileInstall\up-12.png, %g_strTempDir%\up-12.png
FileInstall, FileInstall\up_circular-26.png, %g_strTempDir%\up_circular-26.png
FileInstall, FileInstall\thumbs_up-32.png, %g_strTempDir%\thumbs_up-32.png
FileInstall, FileInstall\solutions-32.png, %g_strTempDir%\solutions-32.png
FileInstall, FileInstall\handshake-32.png, %g_strTempDir%\handshake-32.png
FileInstall, FileInstall\conference-32.png, %g_strTempDir%\conference-32.png
FileInstall, FileInstall\gift-32.png, %g_strTempDir%\gift-32.png
return
;-----------------------------------------------------------
;-----------------------------------------------------------
InitQAPconnectFile:
;-----------------------------------------------------------
if FileExist(A_WorkingDir . "\QAPconnect.ini")
FileInstall, FileInstall\QAPconnect-default.ini, %A_WorkingDir%\QAPconnect-default.ini, 1 ; overwrite
else
FileInstall, FileInstall\QAPconnect-default.ini, %A_WorkingDir%\QAPconnect.ini ; no overwrite required
return
;-----------------------------------------------------------
;-----------------------------------------------------------
InitLanguageVariables:
;-----------------------------------------------------------
#Include %A_ScriptDir%\QuickAccessPopup_LANG.ahk
return
;-----------------------------------------------------------
;-----------------------------------------------------------
InitSystemArrays:
;-----------------------------------------------------------
; ----------------------
; Hotkeys: ini names, hotkey variables name, default values, gosub label and Gui hotkey titles
strPopupHotkeyNames := "NavigateOrLaunchHotkeyMouse|NavigateOrLaunchHotkeyKeyboard|AlternativeHotkeyMouse|AlternativeHotkeyKeyboard"
StringSplit, g_arrPopupHotkeyNames, strPopupHotkeyNames, |
strPopupHotkeyDefaults := "MButton|#W|+MButton|+#W"
StringSplit, g_arrPopupHotkeyDefaults, strPopupHotkeyDefaults, |
g_arrPopupHotkeys := Array ; initialized by LoadIniPopupHotkeys
g_arrPopupHotkeysPrevious := Array ; initialized by GuiOptions and checked in LoadIniPopupHotkeys
g_strMouseButtons := "None|LButton|MButton|RButton|XButton1|XButton2|WheelUp|WheelDown|WheelLeft|WheelRight|"
; leave last | to enable default value on the last item
StringSplit, g_arrMouseButtons, g_strMouseButtons, |