3 <requires lib="gtk+" version="2.16"/>
4 <!-- interface-naming-policy project-wide -->
5 <object class="GtkWindow" id="window">
6 <property name="title" translatable="yes">Nub configuration</property>
7 <property name="window_position">center</property>
9 <object class="GtkTable" id="table">
10 <property name="visible">True</property>
11 <property name="n_rows">11</property>
12 <property name="n_columns">3</property>
13 <property name="column_spacing">4</property>
15 <object class="GtkFrame" id="leftmode">
16 <property name="visible">True</property>
17 <property name="label_xalign">0</property>
18 <property name="shadow_type">none</property>
20 <object class="GtkAlignment" id="alignment1">
21 <property name="visible">True</property>
22 <property name="left_padding">12</property>
24 <object class="GtkVBox" id="vbox1">
25 <property name="visible">True</property>
27 <object class="GtkRadioButton" id="LeftRadio_mouse">
28 <property name="label" translatable="yes">mouse movement</property>
29 <property name="visible">True</property>
30 <property name="can_focus">True</property>
31 <property name="receives_default">False</property>
32 <property name="active">True</property>
33 <property name="draw_indicator">True</property>
36 <property name="position">0</property>
40 <object class="GtkRadioButton" id="LeftRadio_mbuttons">
41 <property name="label" translatable="yes">mouse buttons</property>
42 <property name="visible">True</property>
43 <property name="can_focus">True</property>
44 <property name="receives_default">False</property>
45 <property name="active">True</property>
46 <property name="draw_indicator">True</property>
47 <property name="group">LeftRadio_mouse</property>
50 <property name="position">1</property>
54 <object class="GtkRadioButton" id="LeftRadio_scroll">
55 <property name="label" translatable="yes">scrolling</property>
56 <property name="visible">True</property>
57 <property name="can_focus">True</property>
58 <property name="receives_default">False</property>
59 <property name="active">True</property>
60 <property name="draw_indicator">True</property>
61 <property name="group">LeftRadio_mouse</property>
64 <property name="position">2</property>
68 <object class="GtkRadioButton" id="LeftRadio_absolute">
69 <property name="label" translatable="yes">joystick</property>
70 <property name="visible">True</property>
71 <property name="can_focus">True</property>
72 <property name="receives_default">False</property>
73 <property name="active">True</property>
74 <property name="draw_indicator">True</property>
75 <property name="group">LeftRadio_mouse</property>
78 <property name="position">3</property>
86 <object class="GtkLabel" id="LeftModeLabel">
87 <property name="visible">True</property>
88 <property name="label" translatable="yes"><b>Left nub mode</b></property>
89 <property name="use_markup">True</property>
95 <object class="GtkFrame" id="rmode">
96 <property name="visible">True</property>
97 <property name="label_xalign">0</property>
98 <property name="shadow_type">none</property>
100 <object class="GtkAlignment" id="alignment2">
101 <property name="visible">True</property>
102 <property name="left_padding">12</property>
104 <object class="GtkVBox" id="vbox2">
105 <property name="visible">True</property>
107 <object class="GtkRadioButton" id="RightRadio_mouse">
108 <property name="label" translatable="yes">mouse movement</property>
109 <property name="visible">True</property>
110 <property name="can_focus">True</property>
111 <property name="receives_default">False</property>
112 <property name="active">True</property>
113 <property name="draw_indicator">True</property>
116 <property name="position">0</property>
120 <object class="GtkRadioButton" id="RightRadio_mbuttons">
121 <property name="label" translatable="yes">mouse buttons</property>
122 <property name="visible">True</property>
123 <property name="can_focus">True</property>
124 <property name="receives_default">False</property>
125 <property name="active">True</property>
126 <property name="draw_indicator">True</property>
127 <property name="group">RightRadio_mouse</property>
130 <property name="position">1</property>
134 <object class="GtkRadioButton" id="RightRadio_scroll">
135 <property name="label" translatable="yes">scrolling</property>
136 <property name="visible">True</property>
137 <property name="can_focus">True</property>
138 <property name="receives_default">False</property>
139 <property name="active">True</property>
140 <property name="draw_indicator">True</property>
141 <property name="group">RightRadio_mouse</property>
144 <property name="position">2</property>
148 <object class="GtkRadioButton" id="RightRadio_absolute">
149 <property name="label" translatable="yes">joystick</property>
150 <property name="visible">True</property>
151 <property name="can_focus">True</property>
152 <property name="receives_default">False</property>
153 <property name="active">True</property>
154 <property name="draw_indicator">True</property>
155 <property name="group">RightRadio_mouse</property>
158 <property name="position">3</property>
166 <object class="GtkLabel" id="RightModeLabel">
167 <property name="visible">True</property>
168 <property name="label" translatable="yes"><b>Right nub mode</b></property>
169 <property name="use_markup">True</property>
174 <property name="left_attach">2</property>
175 <property name="right_attach">3</property>
179 <object class="GtkHScale" id="LeftButtonThreshold">
180 <property name="visible">True</property>
181 <property name="can_focus">True</property>
182 <property name="adjustment">lbutton</property>
183 <property name="digits">0</property>
186 <property name="top_attach">3</property>
187 <property name="bottom_attach">4</property>
191 <object class="GtkHScale" id="LeftMouseSpeed">
192 <property name="visible">True</property>
193 <property name="can_focus">True</property>
194 <property name="adjustment">lmouse</property>
195 <property name="digits">0</property>
198 <property name="top_attach">2</property>
199 <property name="bottom_attach">3</property>
203 <object class="GtkHSeparator" id="hseparator1">
204 <property name="height_request">8</property>
205 <property name="visible">True</property>
208 <property name="right_attach">3</property>
209 <property name="top_attach">1</property>
210 <property name="bottom_attach">2</property>
214 <object class="GtkLabel" id="ScrollYLabel">
215 <property name="visible">True</property>
216 <property name="label" translatable="yes">Scroll sensitivity (y-axis)</property>
219 <property name="left_attach">1</property>
220 <property name="right_attach">2</property>
221 <property name="top_attach">6</property>
222 <property name="bottom_attach">7</property>
226 <object class="GtkLabel" id="ScrollXLabel">
227 <property name="visible">True</property>
228 <property name="label" translatable="yes">Scroll sensitivity (x-axis)</property>
231 <property name="left_attach">1</property>
232 <property name="right_attach">2</property>
233 <property name="top_attach">5</property>
234 <property name="bottom_attach">6</property>
238 <object class="GtkLabel" id="ScrollLabel">
239 <property name="visible">True</property>
240 <property name="label" translatable="yes">Scroll speed</property>
243 <property name="left_attach">1</property>
244 <property name="right_attach">2</property>
245 <property name="top_attach">4</property>
246 <property name="bottom_attach">5</property>
250 <object class="GtkLabel" id="MouseButtonLabel">
251 <property name="visible">True</property>
252 <property name="label" translatable="yes">Mouse button sensitivity</property>
255 <property name="left_attach">1</property>
256 <property name="right_attach">2</property>
257 <property name="top_attach">3</property>
258 <property name="bottom_attach">4</property>
262 <object class="GtkLabel" id="MouseSpeedLabel">
263 <property name="visible">True</property>
264 <property name="label" translatable="yes">Mouse speed</property>
267 <property name="left_attach">1</property>
268 <property name="right_attach">2</property>
269 <property name="top_attach">2</property>
270 <property name="bottom_attach">3</property>
274 <object class="GtkHScale" id="LeftScrollRate">
275 <property name="visible">True</property>
276 <property name="can_focus">True</property>
277 <property name="adjustment">lscroll</property>
278 <property name="digits">0</property>
281 <property name="top_attach">4</property>
282 <property name="bottom_attach">5</property>
286 <object class="GtkHScale" id="LeftScrollX">
287 <property name="visible">True</property>
288 <property name="can_focus">True</property>
289 <property name="adjustment">lscrollx</property>
290 <property name="digits">0</property>
293 <property name="top_attach">5</property>
294 <property name="bottom_attach">6</property>
298 <object class="GtkHScale" id="LeftScrollY">
299 <property name="visible">True</property>
300 <property name="can_focus">True</property>
301 <property name="adjustment">lscrolly</property>
302 <property name="digits">0</property>
305 <property name="top_attach">6</property>
306 <property name="bottom_attach">7</property>
310 <object class="GtkHScale" id="RightMouseSpeed">
311 <property name="visible">True</property>
312 <property name="can_focus">True</property>
313 <property name="adjustment">rmouse</property>
314 <property name="digits">0</property>
317 <property name="left_attach">2</property>
318 <property name="right_attach">3</property>
319 <property name="top_attach">2</property>
320 <property name="bottom_attach">3</property>
324 <object class="GtkHScale" id="RightButtonThreshold">
325 <property name="visible">True</property>
326 <property name="can_focus">True</property>
327 <property name="adjustment">rbutton</property>
328 <property name="digits">0</property>
331 <property name="left_attach">2</property>
332 <property name="right_attach">3</property>
333 <property name="top_attach">3</property>
334 <property name="bottom_attach">4</property>
338 <object class="GtkHScale" id="RightScrollRate">
339 <property name="visible">True</property>
340 <property name="can_focus">True</property>
341 <property name="adjustment">rscroll</property>
342 <property name="digits">0</property>
345 <property name="left_attach">2</property>
346 <property name="right_attach">3</property>
347 <property name="top_attach">4</property>
348 <property name="bottom_attach">5</property>
352 <object class="GtkHScale" id="RightScrollX">
353 <property name="visible">True</property>
354 <property name="can_focus">True</property>
355 <property name="adjustment">rscrollx</property>
356 <property name="digits">0</property>
359 <property name="left_attach">2</property>
360 <property name="right_attach">3</property>
361 <property name="top_attach">5</property>
362 <property name="bottom_attach">6</property>
366 <object class="GtkHScale" id="RightScrollY">
367 <property name="visible">True</property>
368 <property name="can_focus">True</property>
369 <property name="update_policy">delayed</property>
370 <property name="adjustment">rscrolly</property>
371 <property name="digits">0</property>
374 <property name="left_attach">2</property>
375 <property name="right_attach">3</property>
376 <property name="top_attach">6</property>
377 <property name="bottom_attach">7</property>
381 <object class="GtkHSeparator" id="hseparator2">
382 <property name="height_request">6</property>
383 <property name="visible">True</property>
386 <property name="right_attach">3</property>
387 <property name="top_attach">7</property>
388 <property name="bottom_attach">8</property>
392 <object class="GtkButton" id="ResetLeft">
393 <property name="label" translatable="yes">Reset left nub</property>
394 <property name="visible">True</property>
395 <property name="can_focus">True</property>
396 <property name="receives_default">True</property>
397 <signal name="clicked" handler="on_ResetLeft_clicked"/>
400 <property name="top_attach">8</property>
401 <property name="bottom_attach">9</property>
402 <property name="y_padding">2</property>
406 <object class="GtkButton" id="ResetRight">
407 <property name="label" translatable="yes">Reset right nub</property>
408 <property name="visible">True</property>
409 <property name="can_focus">True</property>
410 <property name="receives_default">True</property>
411 <signal name="clicked" handler="on_ResetRight_clicked"/>
414 <property name="left_attach">2</property>
415 <property name="right_attach">3</property>
416 <property name="top_attach">8</property>
417 <property name="bottom_attach">9</property>
418 <property name="y_padding">2</property>
422 <object class="GtkButton" id="UndoChanges">
423 <property name="label" translatable="yes">Scan nub state</property>
424 <property name="visible">True</property>
425 <property name="can_focus">True</property>
426 <property name="receives_default">True</property>
427 <property name="image_position">top</property>
428 <signal name="clicked" handler="on_UndoChanges_clicked"/>
431 <property name="left_attach">1</property>
432 <property name="right_attach">2</property>
433 <property name="top_attach">8</property>
434 <property name="bottom_attach">9</property>
435 <property name="y_padding">2</property>
439 <object class="GtkVBox" id="vbox3">
440 <property name="visible">True</property>
442 <object class="GtkImage" id="LogoImage">
443 <property name="height_request">84</property>
444 <property name="visible">True</property>
445 <property name="pixbuf">pndlogo.png</property>
448 <property name="position">0</property>
452 <object class="GtkButton" id="ApplyChanges">
453 <property name="label" translatable="yes">Apply configuration</property>
454 <property name="visible">True</property>
455 <property name="can_focus">True</property>
456 <property name="receives_default">True</property>
457 <signal name="clicked" handler="on_ApplyChanges_clicked"/>
460 <property name="position">1</property>
465 <property name="left_attach">1</property>
466 <property name="right_attach">2</property>
470 <object class="GtkButton" id="SaveProfile">
471 <property name="label" translatable="yes">Save profile</property>
472 <property name="visible">True</property>
473 <property name="can_focus">True</property>
474 <property name="receives_default">True</property>
475 <signal name="clicked" handler="on_SaveProfile_clicked"/>
478 <property name="top_attach">9</property>
479 <property name="bottom_attach">10</property>
480 <property name="y_padding">2</property>
484 <object class="GtkComboBoxEntry" id="ProfileComboEntry">
485 <property name="visible">True</property>
488 <property name="left_attach">1</property>
489 <property name="right_attach">2</property>
490 <property name="top_attach">9</property>
491 <property name="bottom_attach">10</property>
492 <property name="y_padding">2</property>
496 <object class="GtkButton" id="LoadProfile">
497 <property name="label" translatable="yes">Load profile</property>
498 <property name="visible">True</property>
499 <property name="can_focus">True</property>
500 <property name="receives_default">True</property>
501 <signal name="clicked" handler="on_LoadProfile_clicked"/>
504 <property name="left_attach">2</property>
505 <property name="right_attach">3</property>
506 <property name="top_attach">9</property>
507 <property name="bottom_attach">10</property>
508 <property name="y_padding">2</property>
512 <object class="GtkStatusbar" id="statusbar">
513 <property name="visible">True</property>
514 <property name="spacing">2</property>
517 <property name="right_attach">3</property>
518 <property name="top_attach">10</property>
519 <property name="bottom_attach">11</property>
525 <object class="GtkAdjustment" id="lmouse">
526 <property name="value">150</property>
527 <property name="lower">50</property>
528 <property name="upper">300</property>
529 <property name="step_increment">1</property>
530 <property name="page_increment">10</property>
532 <object class="GtkAdjustment" id="rmouse">
533 <property name="value">150</property>
534 <property name="lower">50</property>
535 <property name="upper">300</property>
536 <property name="step_increment">1</property>
537 <property name="page_increment">10</property>
539 <object class="GtkAdjustment" id="lbutton">
540 <property name="value">20</property>
541 <property name="lower">1</property>
542 <property name="upper">40</property>
543 <property name="step_increment">1</property>
544 <property name="page_increment">10</property>
546 <object class="GtkAdjustment" id="rbutton">
547 <property name="value">20</property>
548 <property name="lower">1</property>
549 <property name="upper">40</property>
550 <property name="step_increment">1</property>
551 <property name="page_increment">10</property>
553 <object class="GtkAdjustment" id="lscroll">
554 <property name="value">20</property>
555 <property name="lower">1</property>
556 <property name="upper">40</property>
557 <property name="step_increment">1</property>
558 <property name="page_increment">10</property>
560 <object class="GtkAdjustment" id="rscroll">
561 <property name="value">20</property>
562 <property name="lower">1</property>
563 <property name="upper">40</property>
564 <property name="step_increment">1</property>
565 <property name="page_increment">10</property>
567 <object class="GtkAdjustment" id="lscrollx">
568 <property name="value">7</property>
569 <property name="lower">-32</property>
570 <property name="upper">32</property>
571 <property name="step_increment">1</property>
572 <property name="page_increment">10</property>
574 <object class="GtkAdjustment" id="rscrollx">
575 <property name="value">7</property>
576 <property name="lower">-32</property>
577 <property name="upper">32</property>
578 <property name="step_increment">1</property>
579 <property name="page_increment">10</property>
581 <object class="GtkAdjustment" id="lscrolly">
582 <property name="value">7</property>
583 <property name="lower">-32</property>
584 <property name="upper">32</property>
585 <property name="step_increment">1</property>
586 <property name="page_increment">10</property>
588 <object class="GtkAdjustment" id="rscrolly">
589 <property name="value">7</property>
590 <property name="lower">-32</property>
591 <property name="upper">32</property>
592 <property name="step_increment">1</property>
593 <property name="page_increment">10</property>