1 Commits

Author SHA1 Message Date
9d7529196b Boxlib: the tree_list can use large fonts, fix line number error
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 22s
Build system / Build (pull_request) Successful in 4m33s
2025-04-01 19:43:59 +03:00
20 changed files with 169 additions and 233 deletions

View File

@@ -149,21 +149,18 @@ jobs:
with: with:
name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.img name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.img
path: build-en_US/data/kolibri.img path: build-en_US/data/kolibri.img
retention-days: 365
- name: (en_US) Upload CD image - name: (en_US) Upload CD image
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.iso name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.iso
path: build-en_US/data/kolibri.iso path: build-en_US/data/kolibri.iso
retention-days: 30
- name: (en_US) Upload raw image - name: (en_US) Upload raw image
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.raw name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.raw
path: build-en_US/data/kolibri.raw path: build-en_US/data/kolibri.raw
retention-days: 7
# -------------------------- Build ru_RU ------------------------- # # -------------------------- Build ru_RU ------------------------- #
- name: (ru_RU) Build KolibriOS - name: (ru_RU) Build KolibriOS
@@ -177,21 +174,18 @@ jobs:
with: with:
name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.img name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.img
path: build-ru_RU/data/kolibri.img path: build-ru_RU/data/kolibri.img
retention-days: 365
- name: (ru_RU) Upload CD image - name: (ru_RU) Upload CD image
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.iso name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.iso
path: build-ru_RU/data/kolibri.iso path: build-ru_RU/data/kolibri.iso
retention-days: 30
- name: (ru_RU) Upload raw image - name: (ru_RU) Upload raw image
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.raw name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.raw
path: build-ru_RU/data/kolibri.raw path: build-ru_RU/data/kolibri.raw
retention-days: 7
# -------------------------- Build es_ES ------------------------- # # -------------------------- Build es_ES ------------------------- #
- name: (es_ES) Build KolibriOS - name: (es_ES) Build KolibriOS
@@ -205,18 +199,15 @@ jobs:
with: with:
name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.img name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.img
path: build-es_ES/data/kolibri.img path: build-es_ES/data/kolibri.img
retention-days: 365
- name: (es_ES) Upload CD image - name: (es_ES) Upload CD image
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.iso name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.iso
path: build-es_ES/data/kolibri.iso path: build-es_ES/data/kolibri.iso
retention-days: 30
- name: (es_ES) Upload raw image - name: (es_ES) Upload raw image
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.raw name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.raw
path: build-es_ES/data/kolibri.raw path: build-es_ES/data/kolibri.raw
retention-days: 7

View File

@@ -635,6 +635,7 @@ tup.append_table(extra_files, {
}) })
-- For russian build, add russian-only programs. -- For russian build, add russian-only programs.
if build_type == "ru_RU" then tup.append_table(img_files, { if build_type == "ru_RU" then tup.append_table(img_files, {
{"PERIOD", VAR_PROGS .. "/other/period/trunk/period"},
{"GAMES/KLAVISHA", VAR_PROGS .. "/games/klavisha/klavisha"}, {"GAMES/KLAVISHA", VAR_PROGS .. "/games/klavisha/klavisha"},
{"DEVELOP/EXAMPLES/TESTCON2", VAR_PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"}, {"DEVELOP/EXAMPLES/TESTCON2", VAR_PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
}) else tup.append_table(img_files, { }) else tup.append_table(img_files, {
@@ -642,7 +643,6 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
}) end }) end
if build_type == "ru_RU" then tup.append_table(extra_files, { if build_type == "ru_RU" then tup.append_table(extra_files, {
{"kolibrios/utils/period", VAR_PROGS .. "/other/period/trunk/period"},
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"}, {"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
}) end }) end

View File

@@ -119,7 +119,7 @@
45 <20><><EFBFBD><EFBFBD><20><><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD> |easyshot 45 <20><><EFBFBD><EFBFBD><20><><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD> |easyshot
29 FB2 <20><><EFBFBD><E2A0AB> |fb2read 29 FB2 <20><><EFBFBD><E2A0AB> |fb2read
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |aclock 16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |aclock
21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |/kolibrios/utils/period 21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |period
59 <20><EFBFBD><E0A5AD><EFBFBD><EFBFBD> KJ|ABuIIIA |games/klavisha 59 <20><EFBFBD><E0A5AD><EFBFBD><EFBFBD> KJ|ABuIIIA |games/klavisha
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |demos/bcdclk 16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |demos/bcdclk
53 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |timer 53 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |timer

View File

@@ -270,15 +270,11 @@ void TWebBrowser::tag_h1234_caption()
void TWebBrowser::tag_kosicon() void TWebBrowser::tag_kosicon()
{ {
dword imgbuf[44]; dword imgbuf[44];
dword maxicon;
dword shared_i18 = memopen("ICONS18", NULL, SHM_READ); dword shared_i18 = memopen("ICONS18", NULL, SHM_READ);
maxicon = EDX / 18 / 18 / 4;
if (shared_i18) && (tag.get_number_of("n")) { if (shared_i18) && (tag.get_number_of("n")) {
if (tag.number < maxicon) { if (draw_x + 18 > canvas.bufw) NewLine();
if (draw_x + 18 > canvas.bufw) NewLine(); canvas.DrawImage(draw_x, draw_y-2, 18, 18, 18*18*4*tag.number+shared_i18);
canvas.DrawImage(draw_x, draw_y-2, 18, 18, 18*18*4*tag.number+shared_i18); draw_x += 22;
draw_x += 22;
}
} }
} }

View File

@@ -571,10 +571,10 @@ void OpenPage(dword _open_URL)
//INTERNAL PAGE //INTERNAL PAGE
history.add(#new_url); history.add(#new_url);
WB1.custom_encoding = -1; WB1.custom_encoding = -1;
if (streq(#new_url, URL_SERVICE_HOMEPAGE)) LoadInternalPage(#buildin_page_home, sizeof(buildin_page_home)); if (streq(#new_url, URL_SERVICE_HOMEPAGE)) LoadInternalPage(#buildin_page_home, sizeof(buildin_page_home)-1);
else if (streq(#new_url, URL_SERVICE_TEST)) LoadInternalPage(#buildin_page_test, sizeof(buildin_page_test)); else if (streq(#new_url, URL_SERVICE_TEST)) LoadInternalPage(#buildin_page_test, sizeof(buildin_page_test)-1);
else if (streq(#new_url, URL_SERVICE_HISTORY)) ShowHistory(); else if (streq(#new_url, URL_SERVICE_HISTORY)) ShowHistory();
else LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)); else LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1);
} else if (!strncmp(#new_url,"http:",5)) || (!strncmp(#new_url,"https:",6)) { } else if (!strncmp(#new_url,"http:",5)) || (!strncmp(#new_url,"https:",6)) {
//WEB PAGE //WEB PAGE
@@ -589,7 +589,7 @@ void OpenPage(dword _open_URL)
if (!http.transfer) { if (!http.transfer) {
history.add(#new_url); history.add(#new_url);
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)); LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1);
} }
} else { } else {
//LOCAL PAGE //LOCAL PAGE
@@ -712,7 +712,7 @@ void EventSubmitOmnibox()
void LoadInternalPage(dword _bufdata, _in_bufsize){ void LoadInternalPage(dword _bufdata, _in_bufsize){
if (!_bufdata) || (!_in_bufsize) { if (!_bufdata) || (!_in_bufsize) {
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)); LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1);
} else { } else {
WB1.list.first = 0; //scroll page to the top WB1.list.first = 0; //scroll page to the top
DrawOmnibox(); DrawOmnibox();

View File

@@ -112,4 +112,4 @@ char editbox_icons[] = FROM "res/editbox_icons.raw";
#define DEFAULT_URL URL_SERVICE_HOMEPAGE #define DEFAULT_URL URL_SERVICE_HOMEPAGE
char version[]="WebView 3.9"; char version[]="WebView 3.85";

View File

@@ -1,49 +1,17 @@
<html><head><title>New tab</title></head> <html>
<body bgcolor=#fff> <head>
<title>Homepage</title>
</head>
<body><pre>Welcome to WebView a Text-Based Browser.
<table><tr><td width=20><td width=210><pre> KolibriOS Bookmarks:
___________________ 1. <a href=//kolibrios.org>Homepage</a>
|# : : #| 2. <a href="//builds.kolibrios.org">Night-builds</a>
| : WebView : | 3. <a href="//ftp.kolibrios.org">FTP Server</a>
| : TextBased : |
| : Browser : |
| : : |
| :_____________: |
| ___________ |
| | __ | |
| || | | |
\____||__|_______|__|<font color=#DDD>lc</font>
<font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable <font bg=#F8F15B>By the way,</font>
<font bg=#3CE7FF> </font></font></font></font>
<td>
</pre>
<kosicon n=58><a href=//kolibrios.org>Homepage</a> &nbsp;
<kosicon n=50><a href="//builds.kolibrios.org">Night-builds</a> &nbsp;
<kosicon n=50><a href="//ftp.kolibrios.org">FTP Server</a>
<pre>
By the way,
<font color="#555555">&bull; You can check for browser updates from the main menu. <font color="#555555">&bull; You can check for browser updates from the main menu.
&bull; To run a web search, type a text in the adress box and press Ctrl+Enter. &bull; To run a web search, type a text in the adress box and press Ctrl+Enter.
&bull; Pressing F6 moves a text cursor to the omnibox. &bull; Pressing F6 moves a text cursor to the omnibox.
&bull; You can manually change the encoding of a page by clicking on a label in the bottom right corner. &bull; Click on a label in the bottom right corner to change the encoding of a page.
</font>
~+
* +
' |
() .-.,="``"=. - o -
'=/_ \ |
* | '=._ |
\ `=./`, '
. '=.__.=' `=' *
+ +
O * ' .<font color=#DDD>jgs</font>

View File

@@ -1,49 +1,15 @@
<html><head><title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title></head> <html><head><meta charset="cp-866">
<body bgcolor=#fff> <title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD></title></head>
<body><pre><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD> WebView!
<table><tr><td width=20><td width=210><pre> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KolibriOS:<ol>
___________________ <li><a href=//kolibrios.org><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><></a>
|# : : #| <li><a href="//builds.kolibrios.org"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᡮન</a>
| : WebView : | <li><a href="//ftp.kolibrios.org">FTP <20><><EFBFBD></a></ol>
| : <20><><EFBFBD><EFBFBD><EFBFBD><E2AEA2> : |
| : <20><><EFBFBD><EFBFBD> : |
| : : |
| :_____________: |
| ___________ |
| | __ | |
| || | | |
\____||__|_______|__|<font color=#DDD>lc</font>
<font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable <font bg=#F8F15B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,</font>
<font bg=#3CE7FF> </font></font></font></font>
<td>
</pre>
<kosicon n=58><a href=//kolibrios.org><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><></a> &nbsp;
<kosicon n=50><a href="//builds.kolibrios.org"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᡮન</a> &nbsp;
<kosicon n=50><a href="//ftp.kolibrios.org">FTP <20><><EFBFBD></a>
<pre>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<font color="#555555">&bull; <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <font color="#555555">&bull; <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
&bull; <20><><EFBFBD> <20><><EFBFBD><20> Google <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+Enter &bull; <20><><EFBFBD> <20><><EFBFBD><20> Google <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+Enter
&bull; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F6 <20><><EFBFBD><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. &bull; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F6 <20><><EFBFBD><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
&bull; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><><EFBFBD><E0A0AD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <20><><EFBFBD><EFBFBD>. &bull; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><><EFBFBD><E0A0AD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <20><><EFBFBD><EFBFBD>.
~+
* +
' |
() .-.,="``"=. - o -
'=/_ \ |
* | '=._ |
\ `=./`, '
. '=.__.=' `=' *
+ +
O * ' .<font color=#DDD>jgs</font>

View File

@@ -1,8 +1,9 @@
//Leency, Veliant, Punk_Joker, PavelYakov & KolibriOS Team 2008-2025 //Leency, Veliant, Punk_Joker, PavelYakov & KolibriOS Team 2008-2022
//GNU GPL license. //GNU GPL license.
/* /*
BUGS: BUGS:
- F1 in KFM (move Properties to an external app)
- Ctrl+1+2+3+4 in KFM - Ctrl+1+2+3+4 in KFM
- Highlight another commands on Ctrl|Shift in KFM like in Classic KFM - Highlight another commands on Ctrl|Shift in KFM like in Classic KFM
TODO: TODO:
@@ -10,9 +11,9 @@ TODO:
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334 http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
*/ */
#define ABOUT_TITLE "Eolite 5.32" #define ABOUT_TITLE "EOLITE 5.30"
#define TITLE_EOLITE "Eolite File Manager 5.32" #define TITLE_EOLITE "Eolite File Manager 5.30"
#define TITLE_KFM "Kolibri File Manager 2.32"; #define TITLE_KFM "Kolibri File Manager 2.30";
#define MEMSIZE 1024 * 250 #define MEMSIZE 1024 * 250
#include "../lib/clipboard.h" #include "../lib/clipboard.h"
@@ -443,9 +444,6 @@ void main()
} }
EventDriveClick(key_scancode); EventDriveClick(key_scancode);
break; break;
case SCAN_CODE_KEY_P:
EventCopyItemPath();
break;
case SCAN_CODE_KEY_X: case SCAN_CODE_KEY_X:
CopyFilesListToClipboard(CUT); CopyFilesListToClipboard(CUT);
break; break;
@@ -718,7 +716,7 @@ void DrawFilePanels()
DrawButtonsAroundList(); DrawButtonsAroundList();
path = location[active_panel^1]; path = location[active_panel^1];
active_panel ^= 1; active_panel ^= 1;
OpenDir_without_unselect(WITH_REDRAW); OpenDir2(WITH_REDRAW);
active_panel ^= 1; active_panel ^= 1;
if (!getSelectedCount()) files_inactive.count = files.count; if (!getSelectedCount()) files_inactive.count = files.count;
llist_copy(#files, #files_active); llist_copy(#files, #files_active);
@@ -731,22 +729,38 @@ void DrawFilePanels()
DrawButtonsAroundList(); DrawButtonsAroundList();
path = location[active_panel]; path = location[active_panel];
OpenDir_without_unselect(WITH_REDRAW); OpenDir2(WITH_REDRAW);
} }
} }
void OpenDir(char redraw) { void OpenDir2(char redraw){
unselectAll(); if (buf) free(buf);
OpenDir_without_unselect(redraw); if (GetDir(#buf, #files.count, path, DIRS_NOROOT)) {
Write_Error(EAX);
history.add(path);
EventHistoryGoBack();
return;
}
SetCurDir(path);
if (files.count>0) && (files.cur_y-files.first==-1) files.cur_y=0;
files.visible = math.min(files.h / files.item_h, files.count);
if (!strncmp(path, "/rd/1",5)) || (!strncmp(path, "/sys/",4))
dir_at_fat16 = true; else dir_at_fat16 = false;
Sorting();
SystemDiscs.Draw();
list_full_redraw = true;
List_ReDraw();
DrawPathBar();
} }
void OpenDir_without_unselect(char redraw) { void OpenDir(char redraw){
int errornum; int errornum;
unselectAll();
if (buf) free(buf); if (buf) free(buf);
if (errornum = GetDir(#buf, #files.count, path, DIRS_NOROOT)) { if (errornum = GetDir(#buf, #files.count, path, DIRS_NOROOT)) {
history.add(path); history.add(path);
//EventHistoryGoBack();
Dir_Up(); Dir_Up();
Write_Error(errornum); Write_Error(errornum);
return; return;
@@ -1041,6 +1055,7 @@ void EventHistoryGoForward()
} }
} }
void ShowOpenWithDialog() void ShowOpenWithDialog()
{ {
byte open_param[4097]; byte open_param[4097];
@@ -1134,7 +1149,6 @@ void ShowPopinForm(byte _popin_type)
break; break;
case POPIN_DELETE: case POPIN_DELETE:
if (!files.count) return; if (!files.count) return;
popin_string[0] = -1;
if (!getSelectedCount()) && (!strncmp(#file_name,"..",2)) return; if (!getSelectedCount()) && (!strncmp(#file_name,"..",2)) return;
popinx = DrawEolitePopup(T_YES, T_NO); popinx = DrawEolitePopup(T_YES, T_NO);
WriteTextCenter(popinx, 178, POPIN_W, sc.work_text, T_DELETE_FILE); WriteTextCenter(popinx, 178, POPIN_W, sc.work_text, T_DELETE_FILE);
@@ -1332,12 +1346,6 @@ void EventOpenSearch()
RunProgram(#program_path, #param); RunProgram(#program_path, #param);
} }
void EventCopyItemPath()
{
Clipboard__CopyText(#file_path);
}
void ProceedMouseGestures() void ProceedMouseGestures()
{ {
char stats; char stats;

View File

@@ -4,11 +4,9 @@ char file_actions[]=
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Enter "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Enter
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+Ent <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+Ent
- -
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+P <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+C
- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+X
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+C <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+V
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+X
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+V
- -
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |F2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |F2
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Del <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Del
@@ -17,10 +15,8 @@ char empty_folder_actions[]=
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+V"; "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+V";
char burger_menu_items[] = char burger_menu_items[] =
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>|Ctrl+N "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>|Ctrl+N
-
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+G <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+G
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+F <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+R
-
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|F10 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|F10
<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>"; <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>";
@@ -29,8 +25,6 @@ char file_actions[]=
"Ava |Enter "Ava |Enter
Ava ... |Ctrl+Ent Ava ... |Ctrl+Ent
- -
Copy path |Ctrl+P
-
Kopeeri |Ctrl+C Kopeeri |Ctrl+C
L<EFBFBD>ika |Ctrl+X L<EFBFBD>ika |Ctrl+X
Aseta |Ctrl+V Aseta |Ctrl+V
@@ -42,10 +36,8 @@ char empty_folder_actions[]=
"Aseta |Ctrl+V"; "Aseta |Ctrl+V";
char burger_menu_items[] = char burger_menu_items[] =
"New window|Ctrl+N "New window|Ctrl+N
-
Open console here|Ctrl+G Open console here|Ctrl+G
Search|Ctrl+F V<EFBFBD>rskenda|Ctrl+R
-
Settings|F10 Settings|F10
About"; About";
@@ -54,8 +46,6 @@ char file_actions[]=
"Open |Enter "Open |Enter
Open with... |Ctrl+Ent Open with... |Ctrl+Ent
- -
Copy path |Ctrl+P
-
Copy |Ctrl+C Copy |Ctrl+C
Cut |Ctrl+X Cut |Ctrl+X
Paste |Ctrl+V Paste |Ctrl+V
@@ -67,10 +57,8 @@ char empty_folder_actions[]=
"Paste |Ctrl+V"; "Paste |Ctrl+V";
char burger_menu_items[] = char burger_menu_items[] =
"New window|Ctrl+N "New window|Ctrl+N
-
Open console here|Ctrl+G Open console here|Ctrl+G
Search|Ctrl+F Refresh folder|Ctrl+R
-
Settings|F10 Settings|F10
About"; About";
#endif #endif
@@ -88,18 +76,17 @@ void EventMenuClick(dword _id)
if (active_menu == MENU_FILE) switch(_id) { if (active_menu == MENU_FILE) switch(_id) {
case 1: EventOpen(0); break; case 1: EventOpen(0); break;
case 2: ShowOpenWithDialog(); break; case 2: ShowOpenWithDialog(); break;
case 3: EventCopyItemPath(); break; case 3: CopyFilesListToClipboard(COPY); break;
case 4: CopyFilesListToClipboard(COPY); break; case 4: CopyFilesListToClipboard(CUT); break;
case 5: CopyFilesListToClipboard(CUT); break; case 5: EventPaste(path); break;
case 6: EventPaste(path); break; case 6: FnProcess(2); break;
case 7: FnProcess(2); break; case 7: ShowPopinForm(POPIN_DELETE); break;
case 8: ShowPopinForm(POPIN_DELETE); break; case 8: FnProcess(1); break;
case 9: FnProcess(1); break;
} }
if (active_menu == MENU_BURGER) switch(_id) { if (active_menu == MENU_BURGER) switch(_id) {
case 1: EventOpenNewEolite(); break; case 1: EventOpenNewEolite(); break;
case 2: EventOpenConsoleHere(); break; case 2: EventOpenConsoleHere(); break;
case 3: EventOpenSearch(); break; case 3: EventRefreshDisksAndFolders(); break;
case 4: FnProcess(10); break; case 4: FnProcess(10); break;
case 5: EventShowAbout(); break; case 5: EventShowAbout(); break;
} }

View File

@@ -69,7 +69,7 @@ void settings_dialog()
case evKey: case evKey:
GetKeys(); GetKeys();
if (key_scancode==SCAN_CODE_ESC) ExitSettings(); if (key_scancode==SCAN_CODE_ESC) ExitSettings();
edit_box_key_c stdcall (#path_start_ed,key_editbox); edit_box_key_c stdcall (#path_start_ed,key_ascii << 8);
break; break;
case evReDraw: case evReDraw:

View File

@@ -50,6 +50,10 @@ opendialog open_folder_dialog =
NULL NULL
}; };
#define TOOLBAR_H 100
#define LISTX 0
#define LISTY TOOLBAR_H
//===================================================// //===================================================//
// // // //
// RESULTS // // RESULTS //
@@ -91,7 +95,9 @@ void SearchThread()
{ {
int prev_first, prev_cur_y; int prev_first, prev_cur_y;
#ifndef __COFF__
load_dll(Proc_lib, #OpenDialog_init,0); load_dll(Proc_lib, #OpenDialog_init,0);
#endif
OpenDialog_init stdcall (#open_folder_dialog); OpenDialog_init stdcall (#open_folder_dialog);
if (!ESBYTE[path]) strcpy(path, "/sys"); if (!ESBYTE[path]) strcpy(path, "/sys");
@@ -101,43 +107,28 @@ void SearchThread()
loop() switch(@WaitEvent()) loop() switch(@WaitEvent())
{ {
case evMouse: case evMouse:
edit_box_mouse stdcall (#edit_name); edit_box_mouse stdcall (#edit_name);
edit_box_mouse stdcall (#edit_path); edit_box_mouse stdcall (#edit_path);
prev_cur_y = select_list.cur_y;
if (SelectList_ProcessMouse()) { if (SelectList_ProcessMouse()) {
SelectList_Draw(); SelectList_Draw();
} else { } else {
SelectList_DrawLine(select_list.cur_y); SelectList_DrawLine(select_list.cur_y);
if (select_list.MouseOver(mouse.x, mouse.y))
{
if (mouse.key&MOUSE_LEFT) && (mouse.up) {
if (prev_cur_y == select_list.cur_y) EventRunFile();
}
if (mouse.key&MOUSE_RIGHT) && (mouse.up) {
EventShowFileInFolder();
}
}
} }
if (mouse.key&MOUSE_RIGHT) && (mouse.up) && (select_list.MouseOver()) EventOpenFile(false);
break; break;
case evButton: case evButton:
switch (@GetButtonID()) { switch (@GetButtonID()) {
case 1: @ExitProcess(); break; case 1: @ExitProcess(); break;
case BTN_SEARCH: EventSearch(); break; case BTN_SEARCH: EventSearch(); break;
case BTN_CHOOSE_PATH: EventChooseSearchInPath(); case BTN_CHOOSE_PATH: EventChooseSearchInPath();
} }
break;
break;
case evKey: case evKey:
GetKeys(); @GetKeys();
edit_box_key_c stdcall (#edit_name, key_editbox); edit_box_key_c stdcall (#edit_name);
edit_box_key_c stdcall (#edit_path, key_editbox); edit_box_key_c stdcall (#edit_path);
if (key_scancode == SCAN_CODE_TAB) { if (key_scancode == SCAN_CODE_TAB) {
if (edit_name.flags & ed_focus) { if (edit_name.flags & ed_focus) {
edit_name.flags >< edit_path.flags; edit_name.flags >< edit_path.flags;
@@ -152,7 +143,7 @@ void SearchThread()
if (edit_name.flags & ed_focus) || (edit_path.flags & ed_focus) { if (edit_name.flags & ed_focus) || (edit_path.flags & ed_focus) {
if (SCAN_CODE_ENTER == key_scancode) EventSearch(); if (SCAN_CODE_ENTER == key_scancode) EventSearch();
} else { } else {
if (SCAN_CODE_ENTER == key_scancode) EventRunFile(); if (SCAN_CODE_ENTER == key_scancode) EventOpenFile(true);
prev_first = select_list.first; prev_first = select_list.first;
prev_cur_y = select_list.cur_y; prev_cur_y = select_list.cur_y;
if (select_list.ProcessKey(key_scancode)) { if (select_list.ProcessKey(key_scancode)) {
@@ -178,24 +169,17 @@ void SearchThread()
} }
} }
#define TOOLBAR_H 100
#define PAD 10
#define LISTX PAD
#define LISTY TOOLBAR_H
void draw_window_search() void draw_window_search()
{ {
SelectList_Init(LISTX, LISTY, Form.cwidth-scroll1.size_x-LISTX-LISTX, Form.cheight-TOOLBAR_H-PAD); SelectList_Init(LISTX, LISTY, Form.cwidth-scroll1.size_x-1, Form.cheight-TOOLBAR_H-1);
SelectList_Draw(); SelectList_Draw();
DrawWideRectangle(0, LISTY-PAD-1, Form.cwidth, Form.cheight-TOOLBAR_H+PAD+1, 9, sc.work); DrawBar(0, TOOLBAR_H-1, Form.cwidth, 1, sc.line);
DrawRectangle(PAD-1, LISTY-1, select_list.w+1, select_list.h+1, sc.line);
DrawBar(0, 0, Form.cwidth, TOOLBAR_H-1, sc.work); DrawBar(0, 0, Form.cwidth, TOOLBAR_H-1, sc.work);
DrawEditBox(#edit_name); DrawEditBox(#edit_name);
WriteText(edit_name.left-2, edit_name.top-20, 0x90, sc.work_text, T_SEARCH_NAME); WriteText(edit_name.left-2, edit_name.top-20, 0x90, sc.work_text, T_SEARCH_NAME);
edit_path.width = Form.cwidth - 314; edit_path.width = Form.cwidth - 314;
DrawStandartCaptButton(PAD, 63, BTN_SEARCH, T_BUTTON_SEARCH);
DrawFileBox(#edit_path, T_SEARCH_PATH, BTN_CHOOSE_PATH); DrawFileBox(#edit_path, T_SEARCH_PATH, BTN_CHOOSE_PATH);
DrawStandartCaptButton(10, 63, BTN_SEARCH, T_BUTTON_SEARCH);
} }
void SelectList_DrawLine(dword i) void SelectList_DrawLine(dword i)
@@ -240,12 +224,6 @@ void SelectList_LineChanged()
return; return;
} }
void getfullpath(dword to, path, name) {
strcpy(to, path);
chrcat(to, '/');
strcat(to, name);
}
//===================================================// //===================================================//
// // // //
// EVENTS // // EVENTS //
@@ -260,21 +238,22 @@ void EventChooseSearchInPath()
} }
} }
void EventShowFileInFolder() void getfullpath(dword to, path, name) {
{ strcpy(to, path);
char full_path[4096]; chrcat(to, '/');
int pos = select_list.cur_y; strcat(to, name);
getfullpath(#full_path, results.path.get(pos), results.name.get(pos));
RunProgram(#program_path, #full_path);
} }
void EventRunFile() void EventOpenFile(int run_file_not_show_in_folder)
{ {
char full_path[4096]; char full_path[4096];
int pos = select_list.cur_y; int pos = select_list.cur_y;
getfullpath(#full_path, results.path.get(pos), results.name.get(pos)); getfullpath(#full_path, results.path.get(pos), results.name.get(pos));
if (dir_exists(#full_path)) chrcat(#full_path, '/'); if (run_file_not_show_in_folder) {
RunProgram("/sys/@open", #full_path); RunProgram("/sys/@open", #full_path);
} else {
RunProgram("/sys/file managers/eolite", #full_path);
}
} }
void EventSearch() void EventSearch()

View File

@@ -9,6 +9,7 @@
#pragma option -CPA #pragma option -CPA
#initallvar 0 #initallvar 0
#ifndef __COFF__
#jumptomain FALSE #jumptomain FALSE
#startaddress 0 #startaddress 0
@@ -29,6 +30,17 @@ dword I_Param = #param;
dword I_Path = #program_path; dword I_Path = #program_path;
char param[4096]; char param[4096];
char program_path[4096]; char program_path[4096];
#else
extern dword __argv;
extern dword __path;
dword I_Param = #__argv;
dword I_Path = #__path;
#define param __argv
#define program_path __path
#define ______INIT______ start
#endif
#define bool int #define bool int
@@ -391,7 +403,6 @@ inline fastcall int TestBit( EAX, CL)
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
#define MINIMIZED 0x02
#define ROLLED_UP 0x04 #define ROLLED_UP 0x04
:void DefineAndDrawWindow(dword _x, _y, _w, _h, _window_type, _bgcolor, _title, _flags) :void DefineAndDrawWindow(dword _x, _y, _w, _h, _window_type, _bgcolor, _title, _flags)
{ {

View File

@@ -116,10 +116,17 @@
EAX = 37; EAX = 37;
EBX = 2; EBX = 2;
$int 64 $int 64
$mov ebx, eax
$mov ecx, eax
key = EAX; key = EAX;
lkm = EAX&MOUSE_LEFT; $and eax, 0x00000001
pkm = EAX&MOUSE_RIGHT; $shr ebx, 1
mkm = EAX&MOUSE_MIDDLE; $and ebx, 0x00000001
$shr ecx, 2
$and ecx, 0x00000001
lkm = EAX;
pkm = EBX;
mkm = ECX;
//when you release the MOUSE button //when you release the MOUSE button
// Mouse Move Event // Mouse Move Event

View File

@@ -6,6 +6,37 @@
#include "../lib/kolibri.h" #include "../lib/kolibri.h"
#endif #endif
#ifdef __COFF__
extern dword edit_box_draw;
extern dword edit_box_key_safe;
extern dword edit_box_mouse;
extern dword edit_box_set_text;
extern dword scrollbar_v_draw;
extern dword scrollbar_v_mouse;
extern dword scrollbar_h_draw;
extern dword scrollbar_h_mouse;
extern dword PathShow_prepare;
extern dword PathShow_draw;
extern dword progressbar_draw;
extern dword progressbar_progress;
extern dword frame_draw;
/*
Legacy support
For new programs need to use edit_box_key_safe (or edit_box_key_c
with a define below)
TODO: change in all cmm programs edit_box_key to edit_box_key_safe (edit_box_key_c)
See examples in eolite and imgedit
This define changed all edit_box_key_c to edit_box_key_safe identifier's
*/
#define edit_box_key_c edit_box_key_safe
#else
#ifndef INCLUDE_DLL_H #ifndef INCLUDE_DLL_H
#include "../lib/dll.h" #include "../lib/dll.h"
#endif #endif
@@ -211,3 +242,5 @@ struct frame
frame_draw stdcall (#frame123); frame_draw stdcall (#frame123);
} }
#endif

View File

@@ -44,14 +44,15 @@ signed SelectList_ProcessMouse()
return true; return true;
} }
if (mouse.up) && (select_list.ProcessMouse(mouse.x, mouse.y)) { if (mouse.up) && (mouse.click)
SelectList_LineChanged(); if (select_list.ProcessMouse(mouse.x, mouse.y)) {
return true; SelectList_LineChanged();
} return true;
}
return false; return false;
} }
:void SelectList_DrawBorder() { void SelectList_DrawBorder() {
DrawRectangle3D(select_list.x-2, select_list.y-2, DrawRectangle3D(select_list.x-2, select_list.y-2,
select_list.w+3+scroll1.size_x, select_list.h+3, select_list.w+3+scroll1.size_x, select_list.h+3,
sc.dark, sc.light); sc.dark, sc.light);
@@ -60,8 +61,8 @@ signed SelectList_ProcessMouse()
void SelectList_DrawScroller() void SelectList_DrawScroller()
{ {
scroll1.bckg_col = sc.dark; // MixColors(sc.work, 0xBBBbbb, 80); scroll1.bckg_col = MixColors(sc.work, 0xBBBbbb, 80);
scroll1.frnt_col = sc.light; // MixColors(sc.work,0xFFFfff,120); scroll1.frnt_col = MixColors(sc.work,0xFFFfff,120);
scroll1.line_col = sc.line; scroll1.line_col = sc.line;
scroll1.max_area = select_list.count; scroll1.max_area = select_list.count;

View File

@@ -6,7 +6,7 @@ MK_C_SYM(__ieee754_expf)
fstl %st(1) fstl %st(1)
frndint frndint
fstl %st(2) fstl %st(2)
fsubp fsubrp
f2xm1 f2xm1
fld1 fld1
faddp faddp

View File

@@ -41,7 +41,6 @@ dd 1, start, init_end, end_mem, stack_top, params, 0
include 'lang.inc' ; Language support for locales: ru_RU (CP866), es_ES, en_US. include 'lang.inc' ; Language support for locales: ru_RU (CP866), es_ES, en_US.
include '../../macros.inc' include '../../macros.inc'
include '../../proc32.inc' include '../../proc32.inc'
include "../../string.inc"
include '../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../dll.inc' include '../../dll.inc'
;include '../../debug.inc' ;include '../../debug.inc'
@@ -370,12 +369,6 @@ endl
mcall 30,4,,1 mcall 30,4,,1
jmp .n jmp .n
@@:
stdcall string.length, pathOut
add eax, pathOut
cmpne [eax - 1], byte '/', @f
mov [eax - 1], byte 0
dec dword[edtUnpPath.size]
@@: @@:
mcall 30,4,pathOut,1 mcall 30,4,pathOut,1
.n: .n:

View File

@@ -225,10 +225,8 @@ void draw_window()
// Main buttons to fill the board // Main buttons to fill the board
#define FILL_BUTTON_SIZE BUTTON_SIZE+8 #define FILL_BUTTON_SIZE BUTTON_SIZE+8
for (i=0;i<6;i++) { for (i=0;i<6;i++)
DefineButton(i%3*FILL_BUTTON_SIZE+17,calc(i/3)*FILL_BUTTON_SIZE+15, DefineButton(i%3*FILL_BUTTON_SIZE+17,i/3*FILL_BUTTON_SIZE+15,FILL_BUTTON_SIZE,FILL_BUTTON_SIZE, i+100,FIELD_COLORS[i]);
FILL_BUTTON_SIZE,FILL_BUTTON_SIZE, i+100,FIELD_COLORS[i]);
}
// Menu buttons // Menu buttons
for (i=0;i<3;i++) for (i=0;i<3;i++)

View File

@@ -27,8 +27,6 @@ dword I_Path = 0;
#define true 1 #define true 1
#define false 0 #define false 0
inline fastcall dword calc(EAX) { return EAX; }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------