diff --git a/comp/src/gb.form.stock/.hidden/map b/comp/src/gb.form.stock/.hidden/map deleted file mode 100644 index 5b9fe792e..000000000 --- a/comp/src/gb.form.stock/.hidden/map +++ /dev/null @@ -1,163 +0,0 @@ -access apps/preferences-desktop-accessibility -add actions/list-add -apply actions/dialog-apply -archive mimes/package-x-generic -attach status/mail-attachment -audio mimes/audio-x-generic -battery devices/battery -book apps/accessories-dictionary -bookmark places/user-bookmarks -bottom actions/go-bottom -calculator apps/accessories-calculator -calendar apps/calendar -camera devices/camera-photo -cancel actions/dialog-cancel -cdrom devices/media-optical -clear actions/edit-clear-symbolic -clock apps/clock -close actions/window-close -color categories/applications-graphics -color-picker actions/color-picker -component categories/applications-utilities -computer devices/computer -connect actions/network-connect -copy actions/edit-copy -cut actions/edit-cut -delete actions/edit-delete -desktop places/user-desktop -directory places/folder -disconnect actions/network-disconnect -down actions/go-down -earth categories/applications-internet -edit apps/accessories-text-editor -eject actions/media-eject -end actions/media-skip-forward -erase actions/draw-eraser -error status/dialog-error -exec actions/system-run -file mimes/empty;mimes/empty;mimes/application-x-zerosize;mimes/application-x-zerosize -file-manager apps/system-file-manager -fill actions/fill-color -filter actions/view-filter -find actions/edit-find -first actions/go-first -flag -flip-h actions/object-flip-horizontal -flip-v actions/object-flip-vertical -floppy devices/media-floppy -font apps/preferences-desktop-font -forward actions/media-seek-forward -fullscreen actions/view-fullscreen -gambas -game categories/applications-games -grid -halt actions/process-stop -harddisk devices/drive-harddisk -;hardware devices/audio-card -;heart emblems/emblem-favorite -help apps/help-browser -home actions/go-home -html mimes/text-html -image mimes/image-x-generic -important emblems/emblem-important -indent actions/format-indent-more -info status/dialog-information -insert-image actions/insert-image -insert-link actions/insert-link -insert-text actions/insert-text -jump actions/go-jump -;lamp status/dialog-information -language apps/preferences-desktop-locale -last actions/go-last -left actions/go-previous -;linux apps/tux -;lock status/locked -mail apps/evolution-mail -;make actions/arrow-down -;make-all actions/arrow-down-double -media-player devices/multimedia-player -menu apps/alacarte -microphone devices/audio-input-microphone -mouse devices/input-mouse -network places/network-workgroup -new actions/document-new -new-dir actions/folder-new -new-window actions/window-new -next actions/go-next -ok actions/dialog-ok -open actions/document-open -open-recent actions/document-open-recent -options categories/preferences-system -package apps/system-software-install -pause actions/media-playback-pause -paste actions/edit-paste -pda devices/pda -pdf mimes/application-pdf -pen actions/gtk-edit -people apps/system-users -phone devices/phone -play actions/media-playback-start -previous actions/go-previous -print actions/document-print -printer devices/printer -properties actions/document-properties -question status/dialog-question -quit actions/application-exit -recent actions/document-open-recent -record actions/media-record -redo actions/edit-redo -refresh actions/view-refresh -remove actions/list-remove -replace actions/edit-find-replace -revert actions/document-revert -rewind actions/media-seek-backward -right actions/go-next -rotate-left actions/object-rotate-left -rotate-right actions/object-rotate-right -save actions/document-save -save-as actions/document-save-as -science categories/applications-science -screen devices/video-display -;security status/security-medium -select actions/select-rectangular -select-all actions/edit-select-all -server places/network-server -shortcut apps/preferences-desktop-keyboard -sort-ascent actions/view-sort-ascending -sort-descent actions/view-sort-descending -spell-check actions/tools-check-spelling -start actions/media-skip-backward -stop actions/media-playback-stop -sun status/weather-clear -system devices/computer -terminal apps/utilities-terminal -text mimes/text-x-generic;mimes/text-x-generic -text-bold actions/format-text-bold -text-left actions/format-justify-left -text-center actions/format-justify-center -text-italic actions/format-text-italic -text-fill actions/format-justify-fill -text-right actions/format-justify-right -text-strike actions/format-text-strikethrough -text-underline actions/format-text-underline -tools categories/preferences-system -top actions/go-top -trash places/user-trash -undo actions/edit-undo -unindent actions/format-indent-less -;unlock status/changes-allow -up actions/go-up -video mimes/video-x-generic -;view-detail actions/view-list-details -;view-icon actions/view-list-icons -;view-normal actions/view-close -;view-split-h actions/view-split-left-right -;view-split-v actions/view-split-top-bottom -volume status/audio-volume-high -warning status/dialog-warning -watch apps/strigi -wizard actions/tools-wizard -zoom-fit actions/zoom-fit-best -zoom-in actions/zoom-in -zoom-normal actions/zoom-original -zoom-out actions/zoom-out diff --git a/comp/src/gb.form/.project b/comp/src/gb.form/.project index 3582d2d6a..59cbc43c6 100644 --- a/comp/src/gb.form/.project +++ b/comp/src/gb.form/.project @@ -1,6 +1,6 @@ # Gambas Project File 3.0 Title=More controls for graphical components -Startup=FMain +Startup=FTestFileView Icon=.hidden/icon.png Version=3.16.90 VersionFile=1 diff --git a/comp/src/gb.form/.src/File/FileView.class b/comp/src/gb.form/.src/File/FileView.class index ef3b60299..b2872e08e 100644 --- a/comp/src/gb.form/.src/File/FileView.class +++ b/comp/src/gb.form/.src/File/FileView.class @@ -482,7 +482,7 @@ Private Sub RefreshView() GoSub ADD_PREVIEW Endif Endif - $hColumnView[sKey][1] = " " & Main.GetFileSize(.Size) + $hColumnView[sKey][1] = " " & Main.FormatSize(.Size) $hColumnView[sKey][2] = " " & Str(.Time) If bRichText Then $hColumnView[sPrefix & sFile].RichText = sText Else @@ -1252,9 +1252,11 @@ Public Sub View_Draw(X As Integer, Y As Integer, Width As Integer, Height As Int If $iIconSize < (H * 4) Then Return - Try hStat = Stat($sDir &/ Mid$(Key, 2)) + Try hStat = DirCache[$sDir].GetInfo(Mid$(Key, 2)) + 'Try hStat = Stat($sDir &/ Mid$(Key, 2)) If Error Then Return + Paint.Background = Color.Merge(Style.ForegroundOf(Last), Style.BackgroundOf(Last), 0.3) If System.RightToLeft Then @@ -1266,7 +1268,7 @@ Public Sub View_Draw(X As Integer, Y As Integer, Width As Integer, Height As Int Paint.Font = $hInfoFont Y += Desktop.Scale - Paint.DrawText(Main.GetFileSize(hStat.Size), X, Y, Width, Height, Align.TopNormal) + Paint.DrawText(Main.FormatSize(hStat.Size), X, Y, Width, Height, Align.TopNormal) If $iIconSize < (H * 5) Then Return diff --git a/comp/src/gb.form/.src/File/Properties/FFileProperties.class b/comp/src/gb.form/.src/File/Properties/FFileProperties.class index 2255ce60b..e5c20c703 100644 --- a/comp/src/gb.form/.src/File/Properties/FFileProperties.class +++ b/comp/src/gb.form/.src/File/Properties/FFileProperties.class @@ -212,7 +212,7 @@ Private Sub UpdateSize(Optional sDirSize As String) Try nDir = CInt(aDirSize[2]) Endif - sSize = Main.GetFileSize($iSize) + sSize = Main.FormatSize($iSize) If $iSize >= 1000 Then sSize &= " (" & Subst(("&1 B"), Format($iSize, "#,###")) & ")" If sDirSize Then diff --git a/comp/src/gb.form/.src/Main.module b/comp/src/gb.form/.src/Main.module index 0e0eacb97..e2f47bf70 100644 --- a/comp/src/gb.form/.src/Main.module +++ b/comp/src/gb.form/.src/Main.module @@ -42,36 +42,36 @@ Public Sub GetArrow(iType As Integer, iSize As Integer) As Image End -Public Sub GetFileSize(iSize As Long) As String - - Dim fSize As Float - - If iSize < 1024 Then - Return Subst(("&1 B"), CStr(iSize)) - Else If iSize < 1048576 Then - fSize = iSize / 1024 - If fSize < 20 Then - Return Subst(("&1 KiB"), Format(iSize / 1024, "0.#")) - Else - Return Subst(("&1 KiB"), Format(iSize / 1024, "0")) - Endif - Else If iSize < 1073741824 Then - fSize = iSize / 1048576 - If fSize < 20 Then - Return Subst(("&1 MiB"), Format(iSize / 1048576, "0.#")) - Else - Return Subst(("&1 MiB"), Format(iSize / 1048576, "0")) - Endif - Else - fSize = iSize / 1073741824 - If fSize < 20 Then - Return Subst(("&1 GiB"), Format(iSize / 1073741824, "0.#")) - Else - Return Subst(("&1 GiB"), Format(iSize / 1073741824, "0")) - Endif - Endif - -End +' Public Sub GetFileSize(iSize As Long) As String +' +' Dim fSize As Float +' +' If iSize < 1024 Then +' Return Subst(("&1 B"), CStr(iSize)) +' Else If iSize < 1048576 Then +' fSize = iSize / 1024 +' If fSize < 20 Then +' Return Subst(("&1 KiB"), Format(iSize / 1024, "0.#")) +' Else +' Return Subst(("&1 KiB"), Format(iSize / 1024, "0")) +' Endif +' Else If iSize < 1073741824 Then +' fSize = iSize / 1048576 +' If fSize < 20 Then +' Return Subst(("&1 MiB"), Format(iSize / 1048576, "0.#")) +' Else +' Return Subst(("&1 MiB"), Format(iSize / 1048576, "0")) +' Endif +' Else +' fSize = iSize / 1073741824 +' If fSize < 20 Then +' Return Subst(("&1 GiB"), Format(iSize / 1073741824, "0.#")) +' Else +' Return Subst(("&1 GiB"), Format(iSize / 1073741824, "0")) +' Endif +' Endif +' +' End Private Sub FindMenuChild(hMenu As Menu, sMenu As String) As Menu @@ -286,3 +286,42 @@ Public Sub UseGTK() As Boolean Return $bUseGTK End + +Private Sub FormatNumber(fNum As Float) As String + + Dim sStr As String + + sStr = Format(fNum, "0.##") + If String.Len(sStr) > 4 Then + sStr = String.Left(sStr, 4) + If Not IsDigit(Right(sStr)) Then sStr = Left(sStr, -1) + Endif + Return sStr + +End + +Public Sub FormatSize(Size As Long) As String + + 'If {Binary} Then + If Size < 1000 Then + Return Subst(("&1 B"), CStr(Size)) + Else If Size < 1024000 Then + Return Subst(("&1 KiB"), FormatNumber(Size / 1024)) + Else If Size < 1048576000 Then + Return Subst(("&1 MiB"), FormatNumber(Size / 1048576)) + Else + Return Subst(("&1 GiB"), FormatNumber(Size / 1073741824)) + Endif + ' Else + ' If Size < 1000 Then + ' Return Subst(("&1 B"), CStr(Size)) + ' Else If Size < 1000000 Then + ' Return Subst(("&1 KB"), FormatNumber(Size / 1000)) + ' Else If Size < 1000000000 Then + ' Return Subst(("&1 MB"), FormatNumber(Size / 1000000)) + ' Else + ' Return Subst(("&1 GB"), FormatNumber(Size / 1000000000)) + ' Endif + ' Endif + +End diff --git a/comp/src/gb.form/.src/Stock.class b/comp/src/gb.form/.src/Stock.class index a535121f3..00ed642a3 100644 --- a/comp/src/gb.form/.src/Stock.class +++ b/comp/src/gb.form/.src/Stock.class @@ -816,7 +816,8 @@ Static Private Function Themes_Read() As String[] Next Next - aTheme.Insert(["Gambas", "Gambas-Mono"]) + If Not aTheme.Exist("Gambas") Then aTheme.Add("Gambas") + If Not aTheme.Exist("Gambas-Mono") Then aTheme.Add("Gambas-Mono") aTheme.Sort(gb.IgnoreCase) Return aTheme diff --git a/comp/src/gb.gui.base/.src/Test/FIconView.class b/comp/src/gb.gui.base/.src/Test/FTestIconView.class similarity index 100% rename from comp/src/gb.gui.base/.src/Test/FIconView.class rename to comp/src/gb.gui.base/.src/Test/FTestIconView.class diff --git a/comp/src/gb.gui.base/.src/Test/FIconView.form b/comp/src/gb.gui.base/.src/Test/FTestIconView.form similarity index 100% rename from comp/src/gb.gui.base/.src/Test/FIconView.form rename to comp/src/gb.gui.base/.src/Test/FTestIconView.form