Subversion Repositories Kolibri OS

Rev

Rev 7450 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7450 Rev 7462
Line 18... Line 18...
18
#define TOOLBAR_ICON_HEIGHT 24
18
#define TOOLBAR_ICON_HEIGHT 24
Line 19... Line 19...
19
 
19
 
Line 20... Line 20...
20
#define DEFAULT_EDITOR "/sys/tinypad"
20
#define DEFAULT_EDITOR "/sys/tinypad"
21
 
21
 
22
#define INTRO_TEXT "This is a plain Text Reader.\nTry to open some text file."
22
#define INTRO_TEXT "This is a plain Text Reader.\nTry to open some text file."
23
#define VERSION "Text Reader v1.21a"
23
#define VERSION "Text Reader v1.22"
Line 24... Line 24...
24
#define ABOUT "Idea: Leency, punk_joker
24
#define ABOUT "Idea: Leency, punk_joker
25
Code: Leency, Veliant, KolibriOS Team
25
Code: Leency, Veliant, KolibriOS Team
26
 
26
 
27
Hotkeys:
27
Hotkeys:
28
Ctrl+O - open file
28
Ctrl+O - open file
29
Ctrl+I - show file properties
29
Ctrl+I - show file properties
30
Ctrl+Up - bigger font
30
Ctrl+Up - bigger font
Line 31... Line 31...
31
Ctrl+Down - smaller font
31
Ctrl+Down - smaller font
Line 32... Line 32...
32
Ctrl+Tab - select charset
32
Ctrl+Tab - select charset
33
Ctrl+E - edit current document
33
Ctrl+E - reopen current file in another app
Line 43... Line 43...
43
proc_info Form;
43
proc_info Form;
44
char title[4196];
44
char title[4196];
Line 45... Line 45...
45
 
45
 
46
bool help_opened = false;
46
bool help_opened = false;
-
 
47
int charsets_menu_left = 0;
Line 47... Line 48...
47
int charsets_menu_left = 0;
48
int reopenin_menu_left = 0;
48
 
49
 
49
enum {
50
enum {
50
	OPEN_FILE,
51
	OPEN_FILE,
Line 56... Line 57...
56
	SHOW_FILE_PROPERTIES
57
	SHOW_FILE_PROPERTIES
57
};
58
};
Line 58... Line 59...
58
 
59
 
Line -... Line 60...
-
 
60
int encoding;
-
 
61
 
-
 
62
dword bg_color = 0xF0F0F0;
59
int encoding;
63
dword text_color = 0;
60
 
64
 
Line 61... Line -...
61
#include "ini.h"
-
 
62
#include "prepare_page.h"
65
#include "ini.h"
63
 
66
#include "prepare_page.h"
64
 
67
 
65
void InitDlls()
68
void InitDlls()
66
{
69
{
Line 95... Line 98...
95
				break;
98
				break;
96
			case evButton:
99
			case evButton:
97
				HandleButtonEvent();
100
				HandleButtonEvent();
98
				break;
101
				break;
99
			case evReDraw:
102
			case evReDraw:
100
				if (menu.cur_y) {
-
 
101
					encoding = menu.cur_y - 10;
-
 
102
					OpenFile(#param); 
-
 
103
					PreparePage();
103
				EventMenuClick();
104
					menu.cur_y = NULL;
-
 
105
				};
-
 
106
				draw_window();
104
				draw_window();
107
		}
105
		}
108
	}
106
	}
109
}
107
}
Line 131... Line 129...
131
			break;
129
			break;
132
		case MAGNIFY_MINUS:
130
		case MAGNIFY_MINUS:
133
			EventMagnifyMinus();
131
			EventMagnifyMinus();
134
			break;
132
			break;
135
		case CHANGE_ENCODING:
133
		case CHANGE_ENCODING:
136
			EventChangeEncoding();
134
			EventShowEncodingList();
137
			break;
135
			break;
138
		case RUN_EDIT:
136
		case RUN_EDIT:
139
			EventRunEdit();
137
			EventShowEdit();
140
			break;
138
			break;
141
		case SHOW_INFO:
139
		case SHOW_INFO:
142
			EventShowInfo();
140
			EventShowInfo();
143
			break;
141
			break;
144
	}
142
	}
Line 171... Line 169...
171
				break;
169
				break;
172
			case SCAN_CODE_DOWN:
170
			case SCAN_CODE_DOWN:
173
				EventMagnifyMinus();
171
				EventMagnifyMinus();
174
				break;
172
				break;
175
			case SCAN_CODE_KEY_E:
173
			case SCAN_CODE_KEY_E:
176
				EventRunEdit();
174
				EventShowEdit();
177
				break;
175
				break;
178
			case SCAN_CODE_TAB:
176
			case SCAN_CODE_TAB:
179
				EventChangeEncoding();
177
				EventChangeEncoding();
180
				break;
178
				break;
181
		}
179
		}
Line 216... Line 214...
216
void EventShowFileProperties()
214
void EventShowFileProperties()
217
{
215
{
218
	char ss_param[4096];
216
	char ss_param[4096];
219
	if (!param) return;
217
	if (!param) return;
220
	sprintf(#ss_param, "-p %s", #param);
218
	sprintf(#ss_param, "-p %s", #param);
221
	io.run("/sys/File managers/Eolite", #ss_param);
219
	RunProgram("/sys/File managers/Eolite", #ss_param);
222
}
220
}
Line 223... Line 221...
223
 
221
 
224
void EventMagnifyPlus()
222
void EventMagnifyPlus()
225
{
223
{
Line 237... Line 235...
237
		kfont.size.pt++;
235
		kfont.size.pt++;
238
	else
236
	else
239
		PreparePage();
237
		PreparePage();
240
}
238
}
Line 241... Line 239...
241
 
239
 
242
void EventRunEdit()
240
void EventShowEdit()
243
{
241
{
-
 
242
	menu.selected = 0;
-
 
243
	menu.show(Form.left+5 + reopenin_menu_left, Form.top+29+skin_height, 130,
244
	io.run(DEFAULT_EDITOR, #param);
244
		"Tinypad\nTextEdit\nWebView\nFB2Read\nHexView", 20);
Line 245... Line 245...
245
}
245
}
246
 
246
 
247
void EventChangeEncoding()
247
void EventShowEncodingList()
248
{
248
{
249
	menu.selected = encoding + 1;
249
	menu.selected = encoding + 1;
250
	menu.show(Form.left+5 + charsets_menu_left, Form.top+29+skin_height, 130,
250
	menu.show(Form.left+5 + charsets_menu_left, Form.top+29+skin_height, 130,
Line 256... Line 256...
256
	DrawBar(list.x, list.y, list.w, list.h, 0xFFFfff);
256
	DrawBar(list.x, list.y, list.w, list.h, 0xFFFfff);
257
	WriteText(list.x + 10, list.y + 10, 10000001b, 0x555555, VERSION);
257
	WriteText(list.x + 10, list.y + 10, 10000001b, 0x555555, VERSION);
258
	WriteTextLines(list.x + 10, list.y+40, 10110000b, 0, ABOUT, 20);
258
	WriteTextLines(list.x + 10, list.y+40, 10110000b, 0, ABOUT, 20);
259
}
259
}
Line -... Line 260...
-
 
260
 
-
 
261
void EventChangeEncoding(dword id)
-
 
262
{
-
 
263
	encoding = id;
-
 
264
	OpenFile(#openfile_path);
-
 
265
	PreparePage();
-
 
266
	draw_window();
-
 
267
}
-
 
268
 
-
 
269
void EventOpenFileInAnotherProgram(dword _app)
-
 
270
{
-
 
271
	RunProgram(_app, #param);
-
 
272
}
-
 
273
 
-
 
274
void EventMenuClick()
-
 
275
{
-
 
276
	switch(menu.cur_y)
-
 
277
	{
-
 
278
		//Encoding
-
 
279
		case 10...15:
-
 
280
			EventChangeEncoding(menu.cur_y-10);
-
 
281
			break;
-
 
282
		//Reopen
-
 
283
		case 20:
-
 
284
			EventOpenFileInAnotherProgram("/sys/tinypad");
-
 
285
			break;
-
 
286
		case 21:
-
 
287
			EventOpenFileInAnotherProgram("/sys/develop/t_edit");
-
 
288
			break;
-
 
289
		case 22:
-
 
290
			EventOpenFileInAnotherProgram("/sys/network/webview");
-
 
291
			break;
-
 
292
		case 23:
-
 
293
			EventOpenFileInAnotherProgram("/sys/fb2read");
-
 
294
			break;
-
 
295
		case 24:
-
 
296
			EventOpenFileInAnotherProgram("/sys/develop/heed");
-
 
297
			break;
-
 
298
	}
-
 
299
	menu.cur_y = 0;
-
 
300
}
260
 
301
 
Line 261... Line 302...
261
/* ------------------------------------------- */
302
/* ------------------------------------------- */
262
 
303
 
Line 300... Line 341...
300
	DrawToolbarButton(SHOW_FILE_PROPERTIES, x.inc(TOOLBAR_BUTTON_WIDTH + PADDING));
341
	DrawToolbarButton(SHOW_FILE_PROPERTIES, x.inc(TOOLBAR_BUTTON_WIDTH + PADDING));
301
	DrawToolbarButton(MAGNIFY_MINUS,   x.inc(TOOLBAR_BUTTON_WIDTH + PADDING + PADDING));
342
	DrawToolbarButton(MAGNIFY_MINUS,   x.inc(TOOLBAR_BUTTON_WIDTH + PADDING + PADDING));
302
	DrawToolbarButton(MAGNIFY_PLUS,    x.inc(TOOLBAR_BUTTON_WIDTH - 1));
343
	DrawToolbarButton(MAGNIFY_PLUS,    x.inc(TOOLBAR_BUTTON_WIDTH - 1));
303
	DrawToolbarButton(CHANGE_ENCODING, x.inc(TOOLBAR_BUTTON_WIDTH + PADDING + PADDING));
344
	DrawToolbarButton(CHANGE_ENCODING, x.inc(TOOLBAR_BUTTON_WIDTH + PADDING + PADDING));
304
		charsets_menu_left = x.n;
345
		charsets_menu_left = x.n;
305
	DrawToolbarButton(RUN_EDIT,        x.inc(TOOLBAR_BUTTON_WIDTH + PADDING));
346
	DrawToolbarButton(RUN_EDIT,        x.inc(TOOLBAR_BUTTON_WIDTH + PADDING + PADDING));
-
 
347
		reopenin_menu_left = x.n;
306
	DrawToolbarButton(SHOW_INFO,       Form.cwidth - 34);
348
	DrawToolbarButton(SHOW_INFO,       Form.cwidth - 34);
Line 307... Line 349...
307
	
349
	
308
	
350