Commit d5add747c9752092f15bfb868b72e5337e051386
1 parent
c5b4e64a
Exists in
master
and in
5 other branches
Salvando configuracao de pagina no registry windows
Showing
4 changed files
with
258 additions
and
10 deletions
Show diff stats
@@ -0,0 +1,155 @@ | @@ -0,0 +1,155 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
2 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> | ||
3 | + | ||
4 | +<svg | ||
5 | + xmlns:dc="http://purl.org/dc/elements/1.1/" | ||
6 | + xmlns:cc="http://creativecommons.org/ns#" | ||
7 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||
8 | + xmlns:svg="http://www.w3.org/2000/svg" | ||
9 | + xmlns="http://www.w3.org/2000/svg" | ||
10 | + xmlns:xlink="http://www.w3.org/1999/xlink" | ||
11 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||
12 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||
13 | + width="256" | ||
14 | + height="256" | ||
15 | + id="svg2685" | ||
16 | + sodipodi:version="0.32" | ||
17 | + inkscape:version="0.48.1 r9760" | ||
18 | + sodipodi:docname="pw3270.svg" | ||
19 | + inkscape:output_extension="org.inkscape.output.svg.inkscape" | ||
20 | + inkscape:export-filename="/home/perry/Project/3270/v4/image/icon.png" | ||
21 | + inkscape:export-xdpi="90" | ||
22 | + inkscape:export-ydpi="90" | ||
23 | + version="1.1"> | ||
24 | + <defs | ||
25 | + id="defs2687"> | ||
26 | + <linearGradient | ||
27 | + id="linearGradient3687"> | ||
28 | + <stop | ||
29 | + style="stop-color:#ffffff;stop-opacity:1;" | ||
30 | + offset="0" | ||
31 | + id="stop3689" /> | ||
32 | + <stop | ||
33 | + style="stop-color:#000000;stop-opacity:1;" | ||
34 | + offset="1" | ||
35 | + id="stop3691" /> | ||
36 | + </linearGradient> | ||
37 | + <radialGradient | ||
38 | + inkscape:collect="always" | ||
39 | + xlink:href="#linearGradient3687" | ||
40 | + id="radialGradient2560" | ||
41 | + gradientUnits="userSpaceOnUse" | ||
42 | + gradientTransform="matrix(-1.2214651,1.3481449,-1.1114864,-1.0070438,1777.1401,13.255979)" | ||
43 | + cx="593.03772" | ||
44 | + cy="437.90591" | ||
45 | + fx="593.03772" | ||
46 | + fy="437.90591" | ||
47 | + r="19.115074" /> | ||
48 | + <inkscape:perspective | ||
49 | + sodipodi:type="inkscape:persp3d" | ||
50 | + inkscape:vp_x="0 : 32 : 1" | ||
51 | + inkscape:vp_y="0 : 1000 : 0" | ||
52 | + inkscape:vp_z="64 : 32 : 1" | ||
53 | + inkscape:persp3d-origin="32 : 21.333333 : 1" | ||
54 | + id="perspective2693" /> | ||
55 | + </defs> | ||
56 | + <sodipodi:namedview | ||
57 | + id="base" | ||
58 | + pagecolor="#ffffff" | ||
59 | + bordercolor="#666666" | ||
60 | + borderopacity="1.0" | ||
61 | + inkscape:pageopacity="0.0" | ||
62 | + inkscape:pageshadow="2" | ||
63 | + inkscape:zoom="0.97227183" | ||
64 | + inkscape:cx="-138.53895" | ||
65 | + inkscape:cy="32" | ||
66 | + inkscape:current-layer="layer1" | ||
67 | + showgrid="true" | ||
68 | + inkscape:document-units="px" | ||
69 | + inkscape:grid-bbox="true" | ||
70 | + inkscape:window-width="1366" | ||
71 | + inkscape:window-height="744" | ||
72 | + inkscape:window-x="0" | ||
73 | + inkscape:window-y="24" | ||
74 | + inkscape:window-maximized="1" /> | ||
75 | + <metadata | ||
76 | + id="metadata2690"> | ||
77 | + <rdf:RDF> | ||
78 | + <cc:Work | ||
79 | + rdf:about=""> | ||
80 | + <dc:format>image/svg+xml</dc:format> | ||
81 | + <dc:type | ||
82 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||
83 | + </cc:Work> | ||
84 | + </rdf:RDF> | ||
85 | + </metadata> | ||
86 | + <g | ||
87 | + id="layer1" | ||
88 | + inkscape:label="Layer 1" | ||
89 | + inkscape:groupmode="layer" | ||
90 | + transform="translate(0,192)"> | ||
91 | + <g | ||
92 | + id="g3348" | ||
93 | + transform="matrix(5.1775834,0,0,5.1775834,-2744.6594,-2068.6398)" | ||
94 | + inkscape:export-filename="/home/perry/Desktop/g3484.png" | ||
95 | + inkscape:export-xdpi="750" | ||
96 | + inkscape:export-ydpi="750"> | ||
97 | + <path | ||
98 | + inkscape:export-ydpi="750" | ||
99 | + inkscape:export-xdpi="750" | ||
100 | + inkscape:export-filename="/home/perry/Desktop/path4684.png" | ||
101 | + sodipodi:nodetypes="ccccc" | ||
102 | + id="path3877" | ||
103 | + d="m 571.75652,365.09989 c -12.28362,1.49404 -24.71615,1.60564 -36.92919,3.70417 1.15828,9.37275 0.97923,23.2044 1.63094,30.14689 11.55053,-1.50408 27.01785,-2.59907 38.36698,-5.35307 -0.036,-8.87303 -1.02762,-19.15 -3.06873,-28.49799 z" | ||
104 | + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#cccccc;stroke-width:2.20000005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" | ||
105 | + inkscape:connector-curvature="0" /> | ||
106 | + <path | ||
107 | + inkscape:export-ydpi="750" | ||
108 | + inkscape:export-xdpi="750" | ||
109 | + inkscape:export-filename="/home/perry/Desktop/path4684.png" | ||
110 | + sodipodi:nodetypes="cccccccccccccccc" | ||
111 | + id="path3879" | ||
112 | + d="m 558.70672,398.73456 c -3.79163,0.10309 -7.64598,0.11185 -11.30721,1.27926 -2.13143,0.66011 -4.04568,2.24121 -4.70985,4.42348 -0.0967,1.1177 0.76001,2.18842 1.46457,3.02352 2.25351,2.29719 5.65545,2.82771 8.73539,2.89271 4.42579,0.006 8.86831,-0.8458 12.96682,-2.52003 1.55025,-0.88162 3.33996,-2.06142 3.56963,-3.9936 -0.59735,-2.25901 -2.87075,-3.51224 -4.96561,-4.11636 -1.84964,-0.54894 -3.83129,-0.95601 -5.75374,-0.98898 z m 0.0446,1.40178 c 2.78739,0.0968 5.75567,0.21409 8.11548,1.83476 0.87991,0.58405 1.95351,1.77677 1.15706,2.83974 -0.76499,1.1501 -2.05182,1.80199 -3.22326,2.45978 -3.23561,1.57133 -6.96349,1.61384 -10.45172,1.06373 -9.12914,-0.40554 -4.60594,-6.64603 1.06647,-7.80087 1.09861,-0.25448 2.19774,-0.40573 3.33597,-0.39714 z" | ||
113 | + style="fill:#b6b6b6;fill-opacity:1;fill-rule:evenodd;stroke:none" | ||
114 | + inkscape:connector-curvature="0" /> | ||
115 | + <g | ||
116 | + transform="matrix(0.8126522,0,0,1,135.51705,-68.411175)" | ||
117 | + id="g3881"> | ||
118 | + <path | ||
119 | + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#00ff00;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:50.90000153;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0" | ||
120 | + d="m 496.23743,451.70467 c 37.88072,-3.53554 37.62819,-3.53554 37.62819,-3.53554" | ||
121 | + id="path3883" | ||
122 | + inkscape:connector-curvature="0" /> | ||
123 | + <path | ||
124 | + style="font-size:9.27298832px;font-style:normal;font-weight:bold;fill:#00ff00;fill-opacity:1;stroke:#00ff00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0;font-family:Bitstream Vera Sans;-inkscape-font-specification:Sans Bold" | ||
125 | + d="m 496.41233,442.38795 2.69056,-0.26631 c 0.80001,-0.0792 1.40822,0.0667 1.82464,0.43776 0.41931,0.36749 0.61951,0.93195 0.60062,1.69338 -0.019,0.76469 -0.24833,1.37492 -0.68806,1.83067 -0.43685,0.45224 -1.05527,0.71795 -1.85529,0.79713 l -1.06948,0.10586 -0.0627,2.52833 -1.62108,0.16046 0.18082,-7.28728 m 1.58729,1.20133 -0.0505,2.03536 0.89685,-0.0888 c 0.31439,-0.0311 0.55938,-0.14299 0.73498,-0.33567 0.17566,-0.19591 0.26753,-0.45656 0.27561,-0.78196 0.008,-0.3254 -0.0713,-0.56748 -0.23819,-0.72626 -0.16688,-0.15875 -0.4075,-0.22257 -0.7219,-0.19147 l -0.89684,0.0888 m 4.19384,-1.77354 1.5537,-0.15378 0.95492,5.18832 1.20932,-5.40254 1.56212,-0.15461 0.9465,5.18915 1.21774,-5.40337 1.54107,-0.15253 -1.66294,7.43397 -1.8695,0.18504 -1.00361,-5.42695 -1.2659,5.65159 -1.86949,0.18504 -1.31393,-7.13933 m 13.19263,2.04406 c 0.4207,0.085 0.73663,0.27442 0.94775,0.56837 0.214,0.29044 0.31498,0.67808 0.30296,1.16291 -0.0179,0.72239 -0.27018,1.29593 -0.75673,1.72062 -0.48649,0.42144 -1.18728,0.67745 -2.10238,0.76803 -0.32281,0.0319 -0.64626,0.0331 -0.97034,0.004 -0.32136,-0.0266 -0.63914,-0.0844 -0.95336,-0.17343 l 0.036,-1.44965 c 0.29879,0.14571 0.59584,0.2494 0.89113,0.31106 0.29817,0.0581 0.59182,0.0729 0.88095,0.0443 0.42948,-0.0425 0.76005,-0.16124 0.99169,-0.35622 0.23446,-0.19524 0.35568,-0.45393 0.36368,-0.77608 0.008,-0.3319 -0.10345,-0.57079 -0.33503,-0.71665 -0.22872,-0.1494 -0.57184,-0.20145 -1.02939,-0.15618 l -0.64842,0.0642 0.03,-1.21047 0.68211,-0.0675 c 0.40702,-0.0403 0.712,-0.1435 0.91493,-0.30966 0.20302,-0.16941 0.30828,-0.40542 0.31579,-0.70805 0.007,-0.27983 -0.0845,-0.48663 -0.27442,-0.62041 -0.18989,-0.13376 -0.46168,-0.18313 -0.81537,-0.14814 -0.26105,0.0258 -0.52577,0.0861 -0.79413,0.18086 -0.26837,0.0947 -0.53613,0.22186 -0.80331,0.38138 l 0.0341,-1.37642 c 0.32259,-0.1358 0.64172,-0.2453 0.95741,-0.32848 0.31568,-0.0832 0.6251,-0.13977 0.92826,-0.16979 0.81685,-0.0808 1.42351,0.0149 1.81998,0.28729 0.39934,0.26884 0.59127,0.71565 0.57577,1.3404 -0.0106,0.42629 -0.1161,0.78567 -0.31657,1.07816 -0.20039,0.28927 -0.49143,0.50796 -0.87312,0.6561 m 4.39998,2.10611 2.76635,-0.27381 -0.0343,1.3813 -4.56848,0.45219 0.0343,-1.38131 2.35302,-2.57489 c 0.21024,-0.23504 0.36703,-0.45992 0.47036,-0.67465 0.10334,-0.21472 0.15774,-0.43272 0.16324,-0.65399 0.008,-0.34167 -0.0844,-0.60676 -0.27848,-0.7953 -0.19133,-0.1888 -0.45121,-0.26694 -0.77963,-0.23445 -0.25263,0.025 -0.5307,0.11584 -0.8342,0.27247 -0.30343,0.15338 -0.62944,0.37068 -0.97804,0.65186 l 0.0397,-1.60096 c 0.36838,-0.17603 0.73172,-0.31748 1.08999,-0.42437 0.35835,-0.11012 0.70876,-0.18212 1.05122,-0.21603 0.75228,-0.0745 1.33139,0.0597 1.73731,0.40259 0.40872,0.34257 0.60456,0.85715 0.58752,1.54373 -0.01,0.397 -0.10747,0.77671 -0.29287,1.13912 -0.18533,0.35918 -0.56865,0.8548 -1.14996,1.48687 l -1.37709,1.49963 m 4.23502,-6.31064 4.7369,-0.46886 -0.0263,1.05916 -2.60509,6.47067 -1.57897,0.15629 2.46658,-6.13561 -3.02741,0.29965 0.0343,-1.3813 m 9.29515,2.70736 c 0.0226,-0.91111 -0.0359,-1.54479 -0.17544,-1.90102 -0.13669,-0.35974 -0.37906,-0.5224 -0.72714,-0.48796 -0.34807,0.0345 -0.60114,0.24616 -0.75919,0.63508 -0.15799,0.38568 -0.24828,1.03408 -0.27088,1.94519 -0.0229,0.92088 0.0354,1.56268 0.17484,1.92541 0.1394,0.36274 0.38314,0.52689 0.73122,0.49243 0.34526,-0.0342 0.59696,-0.24736 0.75511,-0.63954 0.15814,-0.39219 0.24863,-1.04872 0.27148,-1.96959 m 1.62071,-0.14581 c -0.03,1.20722 -0.27765,2.16172 -0.74308,2.86347 -0.46537,0.6985 -1.11069,1.0886 -1.93596,1.17029 -0.82807,0.082 -1.45856,-0.18186 -1.89146,-0.79146 -0.43282,-0.61284 -0.63425,-1.52288 -0.6043,-2.73011 0.03,-1.21048 0.27773,-2.16496 0.74309,-2.86347 0.46544,-0.70176 1.1122,-1.09361 1.94028,-1.17559 0.82527,-0.0817 1.45431,0.18391 1.88714,0.79676 0.43289,0.6096 0.63432,1.51963 0.60429,2.73011" | ||
126 | + id="path3885" | ||
127 | + inkscape:connector-curvature="0" /> | ||
128 | + <path | ||
129 | + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#00ff00;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:50.90000153;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0" | ||
130 | + d="m 498.4652,453.42295 c 37.88072,-3.53554 37.62819,-3.53554 37.62819,-3.53554" | ||
131 | + id="path3887" | ||
132 | + inkscape:connector-curvature="0" /> | ||
133 | + <path | ||
134 | + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#00ff00;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:50.90000153;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0" | ||
135 | + d="m 496.77866,455.87356 c 37.88072,-3.53554 37.62819,-3.53554 37.62819,-3.53554" | ||
136 | + id="path3889" | ||
137 | + inkscape:connector-curvature="0" /> | ||
138 | + <path | ||
139 | + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#00ff00;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:50.90000153;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0" | ||
140 | + d="m 499.54207,457.86404 c 37.88072,-3.53554 37.62819,-3.53554 37.62819,-3.53554" | ||
141 | + id="path3891" | ||
142 | + inkscape:connector-curvature="0" /> | ||
143 | + </g> | ||
144 | + <path | ||
145 | + inkscape:export-ydpi="750" | ||
146 | + inkscape:export-xdpi="750" | ||
147 | + inkscape:export-filename="/home/perry/Desktop/path4684.png" | ||
148 | + sodipodi:nodetypes="ccccc" | ||
149 | + id="path3893" | ||
150 | + d="m 571.18683,366.21059 c -11.74072,1.38257 -23.62379,1.48585 -35.29705,3.42783 1.10709,8.67351 0.93595,21.47328 1.55887,27.89784 11.04002,-1.39187 25.82375,-2.40517 36.67128,-4.95371 -0.0344,-8.21108 -0.9822,-17.72136 -2.9331,-26.37196 z" | ||
151 | + style="opacity:0.43404254;fill:url(#radialGradient2560);fill-opacity:1;fill-rule:evenodd;stroke:#cccccc;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" | ||
152 | + inkscape:connector-curvature="0" /> | ||
153 | + </g> | ||
154 | + </g> | ||
155 | +</svg> |
src/gtk/common/config.c
@@ -566,11 +566,20 @@ gchar * build_data_filename(const gchar *first_element, ...) | @@ -566,11 +566,20 @@ gchar * build_data_filename(const gchar *first_element, ...) | ||
566 | } | 566 | } |
567 | 567 | ||
568 | #ifdef WIN_REGISTRY_ENABLED | 568 | #ifdef WIN_REGISTRY_ENABLED |
569 | -HKEY get_registry_handle(const gchar *first_element,REGSAM samDesired) | 569 | +gboolean get_registry_handle(const gchar *group, HKEY *hKey, REGSAM samDesired) |
570 | { | 570 | { |
571 | - #warning Implementar | 571 | + gboolean ret; |
572 | + gchar * path = g_strdup_printf("%s\\%s\\%s",registry_path,g_get_application_name(),group); | ||
573 | + DWORD disp; | ||
574 | + | ||
575 | + if(RegCreateKeyEx(HKEY_CURRENT_USER,path,0,NULL,REG_OPTION_NON_VOLATILE,samDesired,NULL,hKey,&disp) == ERROR_SUCCESS) | ||
576 | + ret = TRUE; | ||
577 | + else | ||
578 | + ret = FALSE; | ||
572 | 579 | ||
573 | - return 0; | 580 | + g_free(path); |
581 | + | ||
582 | + return ret; | ||
574 | } | 583 | } |
575 | #else | 584 | #else |
576 | GKeyFile * get_application_keyfile(void) | 585 | GKeyFile * get_application_keyfile(void) |
src/gtk/main.c
@@ -81,19 +81,17 @@ static int initialize(void) | @@ -81,19 +81,17 @@ static int initialize(void) | ||
81 | { | 81 | { |
82 | // Invalid GTK version, notify user | 82 | // Invalid GTK version, notify user |
83 | int rc; | 83 | int rc; |
84 | + | ||
84 | GtkWidget *dialog = gtk_message_dialog_new( NULL, | 85 | GtkWidget *dialog = gtk_message_dialog_new( NULL, |
85 | GTK_DIALOG_DESTROY_WITH_PARENT, | 86 | GTK_DIALOG_DESTROY_WITH_PARENT, |
86 | GTK_MESSAGE_WARNING, | 87 | GTK_MESSAGE_WARNING, |
87 | GTK_BUTTONS_OK_CANCEL, | 88 | GTK_BUTTONS_OK_CANCEL, |
88 | - _( "This program requires GTK version %d.%d.%d" ),GTK_MAJOR_VERSION,GTK_MINOR_VERSION,GTK_MICRO_VERSION ); | 89 | + _( "%s requires GTK version %d.%d.%d" ),PACKAGE_NAME,GTK_MAJOR_VERSION,GTK_MINOR_VERSION,GTK_MICRO_VERSION ); |
89 | 90 | ||
90 | 91 | ||
91 | gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),"%s",msg); | 92 | gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(dialog),"%s",msg); |
92 | gtk_window_set_title(GTK_WINDOW(dialog),_( "GTK Version mismatch" )); | 93 | gtk_window_set_title(GTK_WINDOW(dialog),_( "GTK Version mismatch" )); |
93 | - | ||
94 | -#if GTK_CHECK_VERSION(2,10,0) | ||
95 | gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE); | 94 | gtk_window_set_deletable(GTK_WINDOW(dialog),FALSE); |
96 | -#endif | ||
97 | 95 | ||
98 | rc = gtk_dialog_run(GTK_DIALOG (dialog)); | 96 | rc = gtk_dialog_run(GTK_DIALOG (dialog)); |
99 | gtk_widget_destroy(dialog); | 97 | gtk_widget_destroy(dialog); |
@@ -147,14 +145,13 @@ int main(int argc, char *argv[]) | @@ -147,14 +145,13 @@ int main(int argc, char *argv[]) | ||
147 | } | 145 | } |
148 | 146 | ||
149 | g_set_application_name(appname); | 147 | g_set_application_name(appname); |
148 | + lib3270_set_popup_handler(popup_handler); | ||
150 | 149 | ||
151 | rc = initialize(); | 150 | rc = initialize(); |
152 | if(!rc) | 151 | if(!rc) |
153 | { | 152 | { |
154 | configuration_init(); | 153 | configuration_init(); |
155 | 154 | ||
156 | - lib3270_set_popup_handler(popup_handler); | ||
157 | - | ||
158 | toplevel = create_main_window(); | 155 | toplevel = create_main_window(); |
159 | 156 | ||
160 | if(toplevel) | 157 | if(toplevel) |
src/gtk/print.c
@@ -131,11 +131,98 @@ | @@ -131,11 +131,98 @@ | ||
131 | } | 131 | } |
132 | } | 132 | } |
133 | 133 | ||
134 | +#ifdef WIN32 | ||
135 | + | ||
136 | +#define save_string(h,k,v) save_settings(k,v,h) | ||
137 | + | ||
138 | +static void save_settings(const gchar *key, const gchar *value, HKEY hKey) | ||
139 | +{ | ||
140 | + RegSetValueEx(hKey,key,0,REG_SZ,(const BYTE *) value,strlen(value)+1); | ||
141 | +} | ||
142 | + | ||
143 | +static void save_double(HKEY hKey, const gchar *key, gdouble value) | ||
144 | +{ | ||
145 | + // Reference: http://git.gnome.org/browse/glib/tree/glib/gkeyfile.c | ||
146 | + gchar result[G_ASCII_DTOSTR_BUF_SIZE]; | ||
147 | + g_ascii_dtostr (result, sizeof (result), value); | ||
148 | + save_settings(key,result,hKey); | ||
149 | +} | ||
150 | + | ||
151 | + | ||
152 | +/* | ||
153 | + * From: http://git.gnome.org/browse/gtk+/tree/gtk/gtkpagesetup.c | ||
154 | + * something like this should really be in gobject! | ||
155 | + * | ||
156 | + * I Agree!! (Perry Werneck) | ||
157 | + * | ||
158 | + */ | ||
159 | +static gchar * enum_to_string(GType type, guint enum_value) | ||
160 | +{ | ||
161 | + GEnumClass *enum_class; | ||
162 | + GEnumValue *value; | ||
163 | + gchar *retval = NULL; | ||
164 | + | ||
165 | + enum_class = g_type_class_ref (type); | ||
166 | + | ||
167 | + value = g_enum_get_value(enum_class, enum_value); | ||
168 | + if (value) | ||
169 | + retval = g_strdup (value->value_nick); | ||
170 | + | ||
171 | + g_type_class_unref (enum_class); | ||
172 | + | ||
173 | + return retval; | ||
174 | +} | ||
175 | + | ||
176 | +#endif // WIN32 | ||
177 | + | ||
134 | static void done(GtkPrintOperation *prt, GtkPrintOperationResult result, PRINT_INFO *info) | 178 | static void done(GtkPrintOperation *prt, GtkPrintOperationResult result, PRINT_INFO *info) |
135 | { | 179 | { |
136 | #ifdef WIN32 | 180 | #ifdef WIN32 |
137 | 181 | ||
138 | - #warning Implementar | 182 | + HKEY registry; |
183 | + | ||
184 | + if(get_registry_handle("print",®istry,KEY_SET_VALUE)) | ||
185 | + { | ||
186 | + HKEY hKey; | ||
187 | + DWORD disp; | ||
188 | + | ||
189 | + if(RegCreateKeyEx(registry,"settings",0,NULL,REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,NULL,&hKey,&disp) == ERROR_SUCCESS) | ||
190 | + { | ||
191 | + gtk_print_settings_foreach( gtk_print_operation_get_print_settings(prt), | ||
192 | + (GtkPrintSettingsFunc) save_settings, | ||
193 | + hKey ); | ||
194 | + RegCloseKey(hKey); | ||
195 | + } | ||
196 | + | ||
197 | + if(RegCreateKeyEx(registry,"pagesetup",0,NULL,REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,NULL,&hKey,&disp) == ERROR_SUCCESS) | ||
198 | + { | ||
199 | + HKEY hPaperSize; | ||
200 | + GtkPageSetup * setup = gtk_print_operation_get_default_page_setup(prt); | ||
201 | + gchar * orientation = enum_to_string(GTK_TYPE_PAGE_ORIENTATION,gtk_page_setup_get_orientation(setup)); | ||
202 | + | ||
203 | + // From http://git.gnome.org/browse/gtk+/tree/gtk/gtkpagesetup.c | ||
204 | + save_double(hKey, "MarginTop", gtk_page_setup_get_top_margin(setup, GTK_UNIT_MM)); | ||
205 | + save_double(hKey, "MarginBottom", gtk_page_setup_get_bottom_margin(setup, GTK_UNIT_MM)); | ||
206 | + save_double(hKey, "MarginLeft", gtk_page_setup_get_left_margin(setup, GTK_UNIT_MM)); | ||
207 | + save_double(hKey, "MarginRight", gtk_page_setup_get_right_margin(setup, GTK_UNIT_MM)); | ||
208 | + save_string(hKey, "Orientation", orientation); | ||
209 | + | ||
210 | + g_free (orientation); | ||
211 | + | ||
212 | + if(RegCreateKeyEx(hKey,"papersize",0,NULL,REG_OPTION_NON_VOLATILE,KEY_SET_VALUE,NULL,&hPaperSize,&disp) == ERROR_SUCCESS) | ||
213 | + { | ||
214 | + GtkPaperSize *paper_size = gtk_page_setup_get_paper_size (setup); | ||
215 | + if(paper_size) | ||
216 | + { | ||
217 | + #warning Implement it | ||
218 | + } | ||
219 | + RegCloseKey(hPaperSize); | ||
220 | + } | ||
221 | + RegCloseKey(hKey); | ||
222 | + } | ||
223 | + | ||
224 | + RegCloseKey(registry); | ||
225 | + } | ||
139 | 226 | ||
140 | #else | 227 | #else |
141 | GKeyFile * conf = get_application_keyfile(); | 228 | GKeyFile * conf = get_application_keyfile(); |