ruber 0.0.5 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +25 -0
- data/bin/ruber +0 -0
- data/data/share/apps/ruber/ruberui.rc +15 -1
- data/data/share/icons/{ruber.png → ruber-old.pgn} +0 -0
- data/lib/ruber/application/application.rb +216 -73
- data/lib/ruber/application/plugin.yaml +2 -2
- data/lib/ruber/document_project.rb +25 -5
- data/lib/ruber/documents/document_list.rb +11 -15
- data/lib/ruber/editor/document.rb +106 -50
- data/lib/ruber/editor/editor_view.rb +4 -2
- data/lib/ruber/external_program_plugin.rb +8 -0
- data/lib/ruber/kde_config_option_backend.rb +12 -4
- data/lib/ruber/kde_sugar.rb +35 -1
- data/lib/ruber/main_window/choose_plugins_dlg.rb +10 -10
- data/lib/ruber/main_window/hint_solver.rb +263 -0
- data/lib/ruber/main_window/main_window.rb +462 -206
- data/lib/ruber/main_window/main_window_actions.rb +228 -62
- data/lib/ruber/main_window/main_window_internal.rb +169 -115
- data/lib/ruber/main_window/plugin.yaml +13 -3
- data/lib/ruber/main_window/save_modified_files_dlg.rb +1 -1
- data/lib/ruber/main_window/ui/choose_plugins_widget.rb +1 -1
- data/lib/ruber/main_window/ui/main_window_settings_widget.rb +1 -1
- data/lib/ruber/main_window/ui/new_project_widget.rb +1 -1
- data/lib/ruber/main_window/ui/open_file_in_project_dlg.rb +1 -1
- data/lib/ruber/main_window/ui/output_color_widget.rb +1 -1
- data/lib/ruber/main_window/ui/workspace_settings_widget.rb +51 -0
- data/lib/ruber/main_window/ui/workspace_settings_widget.ui +28 -0
- data/lib/ruber/main_window/view_manager.rb +418 -0
- data/lib/ruber/main_window/workspace.png +0 -0
- data/lib/ruber/output_widget.rb +43 -37
- data/lib/ruber/pane.rb +621 -0
- data/lib/ruber/plugin_specification_reader.rb +8 -1
- data/lib/ruber/projects/project_files_list.rb +6 -0
- data/lib/ruber/projects/ui/project_files_rule_chooser_widget.rb +1 -1
- data/lib/ruber/projects/ui/project_files_widget.rb +1 -1
- data/lib/ruber/qt_sugar.rb +94 -4
- data/lib/ruber/utils.rb +16 -7
- data/lib/ruber/version.rb +2 -2
- data/plugins/autosave/autosave.rb +62 -1
- data/plugins/autosave/plugin.yaml +1 -0
- data/plugins/autosave/ui/autosave_config_widget.rb +37 -14
- data/plugins/autosave/ui/autosave_config_widget.ui +62 -12
- data/plugins/find_in_files/find_in_files_widgets.rb +1 -3
- data/plugins/find_in_files/ui/config_widget.rb +1 -1
- data/plugins/find_in_files/ui/find_in_files_widget.rb +1 -1
- data/plugins/rake/plugin.yaml +1 -1
- data/plugins/rake/ui/add_quick_task_widget.rb +1 -1
- data/plugins/rake/ui/choose_task_widget.rb +1 -1
- data/plugins/rake/ui/config_widget.rb +1 -1
- data/plugins/rake/ui/project_widget.rb +1 -1
- data/plugins/rspec/rspec.rb +14 -22
- data/plugins/rspec/ruber_rspec_formatter.rb +4 -1
- data/plugins/rspec/ui/rspec_project_widget.rb +1 -1
- data/plugins/ruby_development/plugin.yaml +7 -2
- data/plugins/ruby_development/ruby_development.rb +134 -13
- data/plugins/ruby_development/ui/config_widget.rb +66 -0
- data/plugins/ruby_development/ui/config_widget.ui +58 -0
- data/plugins/ruby_development/ui/project_widget.rb +1 -1
- data/plugins/ruby_runner/plugin.yaml +2 -2
- data/plugins/ruby_runner/ruby_runner.rb +15 -3
- data/plugins/ruby_runner/ui/config_widget.rb +1 -1
- data/plugins/ruby_runner/ui/project_widget.rb +1 -1
- data/plugins/ruby_runner/ui/ruby_runnner_plugin_option_widget.rb +1 -1
- data/plugins/state/plugin.yaml +6 -2
- data/plugins/state/state.rb +305 -81
- data/plugins/state/ui/config_widget.rb +1 -1
- data/spec/common.rb +11 -3
- data/spec/document_list_spec.rb +8 -8
- data/spec/document_project_spec.rb +98 -25
- data/spec/document_spec.rb +178 -152
- data/spec/editor_view_spec.rb +26 -5
- data/spec/framework.rb +5 -0
- data/spec/hint_solver_spec.rb +450 -0
- data/spec/kde_sugar_spec.rb +73 -6
- data/spec/output_widget_spec.rb +172 -156
- data/spec/pane_spec.rb +1165 -0
- data/spec/plugin_specification_reader_spec.rb +37 -1
- data/spec/project_files_list_spec.rb +30 -20
- data/spec/qt_sugar_spec.rb +269 -0
- data/spec/state_spec.rb +566 -353
- data/spec/utils_spec.rb +1 -1
- data/spec/view_manager_spec.rb +71 -0
- metadata +16 -4
@@ -89,7 +89,12 @@ A list of valid licences
|
|
89
89
|
@plugin_info.about = read_about hash
|
90
90
|
@plugin_info.version = read_version hash
|
91
91
|
@plugin_info.required = read_required hash
|
92
|
-
@plugin_info.required.each
|
92
|
+
@plugin_info.required.each do |f|
|
93
|
+
file = File.join @plugin_info.directory, f
|
94
|
+
if file.end_with?('.rb') then load file
|
95
|
+
else require file
|
96
|
+
end
|
97
|
+
end
|
93
98
|
@plugin_info.class_obj = read_class hash
|
94
99
|
@plugin_info.features = read_features hash
|
95
100
|
@plugin_info.deps = read_deps hash
|
@@ -410,6 +415,8 @@ can't be used if the application hasn't been created)
|
|
410
415
|
scope = Array(get_value hash, :scope, [:global]).map &:to_sym
|
411
416
|
scope = [:global, :document] if scope == [:all]
|
412
417
|
res[:scope] = scope
|
418
|
+
place = Array(get_value hash, :place, [:local]).map &:to_sym
|
419
|
+
res[:place] = (place.include?(:all) ? [:local, :remote] : place)
|
413
420
|
res[:mimetype] = Array(get_value(hash, :mimetype, []))
|
414
421
|
res[:file_extension] = Array(get_value(hash, :file_extension, []))
|
415
422
|
res
|
@@ -236,6 +236,12 @@ the project. Rather, it compares the file name with the include and exclude rule
|
|
236
236
|
and the extensions.
|
237
237
|
=end
|
238
238
|
def file_in_project? file
|
239
|
+
if file.match %r{^([\w+-.]+)://(.+)}
|
240
|
+
if $1 != 'file' then return false
|
241
|
+
else
|
242
|
+
file = $2
|
243
|
+
end
|
244
|
+
end
|
239
245
|
file = file.sub %r[^#{Regexp.quote(@project.project_directory)}/], ''
|
240
246
|
return false if file.start_with? '/'
|
241
247
|
return nil if file.end_with? '/'
|
@@ -1,7 +1,7 @@
|
|
1
1
|
=begin
|
2
2
|
** Form generated from reading ui file 'project_files_rule_chooser_widget.ui'
|
3
3
|
**
|
4
|
-
** Created:
|
4
|
+
** Created: mar nov 16 11:52:49 2010
|
5
5
|
** by: Qt User Interface Compiler version 4.7.0
|
6
6
|
**
|
7
7
|
** WARNING! All changes made in this file will be lost when recompiling ui file!
|
@@ -1,7 +1,7 @@
|
|
1
1
|
=begin
|
2
2
|
** Form generated from reading ui file 'project_files_widget.ui'
|
3
3
|
**
|
4
|
-
** Created:
|
4
|
+
** Created: mar nov 16 11:52:49 2010
|
5
5
|
** by: Qt User Interface Compiler version 4.7.0
|
6
6
|
**
|
7
7
|
** WARNING! All changes made in this file will be lost when recompiling ui file!
|
data/lib/ruber/qt_sugar.rb
CHANGED
@@ -50,12 +50,14 @@ module Qt
|
|
50
50
|
+RuntimeError+ will be raised.
|
51
51
|
=end
|
52
52
|
def named_connect signal, name, &blk
|
53
|
-
|
54
|
-
#
|
53
|
+
#It seems that find_children always return all children, regardless of
|
54
|
+
#the class passed as argument
|
55
|
+
# old_children = find_children(Qt::SignalBlockInvocation)
|
56
|
+
old_children = find_children(Qt::Object).select{|c| c.class == Qt::SignalBlockInvocation}
|
55
57
|
res = self.connect(signal, &blk)
|
56
58
|
return nil unless res
|
57
|
-
|
58
|
-
|
59
|
+
new_children = find_children(Qt::Object).select{|c| c.class == Qt::SignalBlockInvocation} - old_children
|
60
|
+
# new_children = find_children(Qt::SignalBlockInvocation) - old_children
|
59
61
|
unless new_children.size == 1
|
60
62
|
raise RuntimeError, "Wrong number of new children: #{new_children.size} instead of 1"
|
61
63
|
end
|
@@ -617,6 +619,94 @@ the problem is solved
|
|
617
619
|
|
618
620
|
end
|
619
621
|
|
622
|
+
=begin rdoc
|
623
|
+
Module implementing the {#each} method used by all layout classes
|
624
|
+
|
625
|
+
Ideally, this method should be implemented in {Qt::Layout} and other classes should
|
626
|
+
inherit it. However, since QtRuby doesn't actually implements inheritance between
|
627
|
+
it's classes, that doesn't happen.
|
628
|
+
|
629
|
+
The {#each} method is then defined in this module which is included in all layout
|
630
|
+
classes
|
631
|
+
=end
|
632
|
+
module LayoutEach
|
633
|
+
|
634
|
+
include QtEnumerable
|
635
|
+
|
636
|
+
=begin rdoc
|
637
|
+
Iterates on all items in the layout
|
638
|
+
|
639
|
+
The iteration order is from top to bottom and from left to right. In case of widgets
|
640
|
+
which span multiple rows or columns (in case of a @Qt::GridLayout@), the widgets
|
641
|
+
will only be passed one time.
|
642
|
+
|
643
|
+
@yield [w] block to call for each widget in the layout
|
644
|
+
@yieldparam [Qt::Widget] w each widget
|
645
|
+
@return [Qt::Layout,Enumerator] if no block is given, returns an enumerator, otherwise
|
646
|
+
returns *self*
|
647
|
+
=end
|
648
|
+
def each
|
649
|
+
return to_enum unless block_given?
|
650
|
+
count.times do |i|
|
651
|
+
it = item_at i
|
652
|
+
yield it.widget || it.layout
|
653
|
+
end
|
654
|
+
self
|
655
|
+
end
|
656
|
+
|
657
|
+
end
|
658
|
+
|
659
|
+
class Layout
|
660
|
+
include LayoutEach
|
661
|
+
end
|
662
|
+
|
663
|
+
class BoxLayout
|
664
|
+
include LayoutEach
|
665
|
+
end
|
666
|
+
|
667
|
+
class VBoxLayout
|
668
|
+
include LayoutEach
|
669
|
+
end
|
670
|
+
|
671
|
+
class HBoxLayout
|
672
|
+
include LayoutEach
|
673
|
+
end
|
674
|
+
|
675
|
+
class StackedLayout
|
676
|
+
include LayoutEach
|
677
|
+
end
|
678
|
+
|
679
|
+
class FormLayout
|
680
|
+
include LayoutEach
|
681
|
+
end
|
682
|
+
|
683
|
+
class GridLayout
|
684
|
+
include LayoutEach
|
685
|
+
end
|
686
|
+
|
687
|
+
class Qt::Splitter
|
688
|
+
|
689
|
+
include QtEnumerable
|
690
|
+
|
691
|
+
=begin rdoc
|
692
|
+
Iterates on all items in the splitter
|
693
|
+
|
694
|
+
The iteration order is from top to bottom and from left to right.
|
695
|
+
|
696
|
+
@yield [w] block to call for each widget in the splitter
|
697
|
+
@yieldparam [Qt::Widget] w each widget
|
698
|
+
@return [Qt::Splitter,Enumerator] if no block is given, returns an enumerator, otherwise
|
699
|
+
returns *self*
|
700
|
+
=end
|
701
|
+
def each
|
702
|
+
return to_enum unless block_given?
|
703
|
+
count.times{|i| yield widget(i)}
|
704
|
+
self
|
705
|
+
end
|
706
|
+
|
707
|
+
end
|
708
|
+
|
709
|
+
|
620
710
|
class Qt::StackedWidget
|
621
711
|
|
622
712
|
include QtEnumerable
|
data/lib/ruber/utils.rb
CHANGED
@@ -30,17 +30,26 @@ require 'facets/boolean'
|
|
30
30
|
require 'facets/enumerable/mash'
|
31
31
|
|
32
32
|
module Ruber
|
33
|
+
|
34
|
+
=begin rdoc
|
35
|
+
The Ruber installation directory
|
36
|
+
=end
|
37
|
+
RUBER_DIR = File.expand_path File.join(__FILE__, '..', '..', '..')
|
33
38
|
|
34
39
|
=begin rdoc
|
35
40
|
The directory where the Ruber core files are
|
36
41
|
=end
|
37
|
-
RUBER_LIB_DIR = File.
|
42
|
+
RUBER_LIB_DIR = File.join RUBER_DIR, 'lib/'
|
38
43
|
|
39
44
|
=begin rdoc
|
40
|
-
The
|
45
|
+
The default directory for globally installed plugins
|
41
46
|
=end
|
42
|
-
|
47
|
+
RUBER_PLUGIN_DIR = File.join RUBER_DIR, 'plugins'
|
43
48
|
|
49
|
+
=begin rdoc
|
50
|
+
The Ruber @data@ directory
|
51
|
+
=end
|
52
|
+
RUBER_DATA_DIR = File.join RUBER_DIR, 'data'
|
44
53
|
end
|
45
54
|
|
46
55
|
module Kernel
|
@@ -300,9 +309,9 @@ the block returned a true value, it returns the value returned by the block.
|
|
300
309
|
@return [Object, nil] the first non-false value returned by the block or *nil*
|
301
310
|
if the block returns *nil* or *false* for all elements
|
302
311
|
|
303
|
-
@example
|
304
|
-
[1, 2, 3, 4].find!{|i| 2*i if i > 2}
|
305
|
-
=> 6 #(3*2)
|
312
|
+
@example Using @find!@
|
313
|
+
[1, 2, 3, 4].find!{|i| 2*i if i > 2}
|
314
|
+
=> 6 #(3*2)
|
306
315
|
=end
|
307
316
|
def find!
|
308
317
|
each do |obj|
|
@@ -412,4 +421,4 @@ whitespaces quoted according to the above algorithm
|
|
412
421
|
res
|
413
422
|
end
|
414
423
|
|
415
|
-
end
|
424
|
+
end
|
data/lib/ruber/version.rb
CHANGED
@@ -284,7 +284,7 @@ into account the enabled option and always attempt to save the documents.
|
|
284
284
|
def save_files docs, opts, blk
|
285
285
|
unsaved = []
|
286
286
|
docs.each_with_index do |d, i|
|
287
|
-
unless d
|
287
|
+
unless save_doc d
|
288
288
|
unsaved << d
|
289
289
|
if opts[:stop_on_failure]
|
290
290
|
unsaved += docs[(i+1)..-1]
|
@@ -314,12 +314,52 @@ The following documents couldn't be saved:
|
|
314
314
|
false
|
315
315
|
end
|
316
316
|
|
317
|
+
def load_settings
|
318
|
+
super
|
319
|
+
@remote_files_policy = Ruber[:config][:autosave, :remote_files]
|
320
|
+
end
|
321
|
+
|
322
|
+
private
|
323
|
+
|
324
|
+
=begin rdoc
|
325
|
+
Attempts to save a document
|
326
|
+
|
327
|
+
If the document is associated with a remote file, the behaviour will change depending
|
328
|
+
on the value of the @autosave/remote_files@ settings:
|
329
|
+
* if it's @:skip@ then nothing will be done
|
330
|
+
* if it's @:ignore@ then an attempt to save the document will be done, but any failures
|
331
|
+
will be ignored
|
332
|
+
* if it's @:normal@ then the behaviour will be the same as for a local file
|
333
|
+
|
334
|
+
@param [Document] doc the document to save
|
335
|
+
@return [Boolean] *true* if the document was saved successfully and *false* otherwise.
|
336
|
+
in case of a remote document, it will always return *true* except when the
|
337
|
+
@autosave/remote_files@ option is set to @:normal@
|
338
|
+
=end
|
339
|
+
def save_doc doc
|
340
|
+
if doc.url.local_file? or doc.url.relative? then doc.save
|
341
|
+
else
|
342
|
+
case @remote_files_policy
|
343
|
+
when :skip then true
|
344
|
+
when :ignore
|
345
|
+
doc.save
|
346
|
+
true
|
347
|
+
else doc.save
|
348
|
+
end
|
349
|
+
end
|
350
|
+
end
|
351
|
+
|
317
352
|
end
|
318
353
|
|
319
354
|
=begin rdoc
|
320
355
|
The configuration widget for the Autosave plugin
|
321
356
|
=end
|
322
357
|
class ConfigWidget < Qt::Widget
|
358
|
+
|
359
|
+
=begin rdoc
|
360
|
+
Associations between remote files behaviour and entries in the Remote files widget
|
361
|
+
=end
|
362
|
+
REMOTE_FILES_MODE = {:normal => 0, :skip => 1, :ignore => 2}
|
323
363
|
|
324
364
|
=begin rdoc
|
325
365
|
Creates a new instance
|
@@ -397,6 +437,27 @@ Fills the list view with the registered plugins
|
|
397
437
|
nil
|
398
438
|
end
|
399
439
|
|
440
|
+
=begin rdoc
|
441
|
+
Selects the appropriate entry from the remote file combo box
|
442
|
+
|
443
|
+
@param [Symbol] val the bheaviour with respect to remote files. It can be one of
|
444
|
+
@:normal@, @:skip@ or @:ignore@
|
445
|
+
@return [nil]
|
446
|
+
=end
|
447
|
+
def remote_files= val
|
448
|
+
mode =
|
449
|
+
@ui._autosave__remote_files.current_index = REMOTE_FILES_MODE[val]
|
450
|
+
nil
|
451
|
+
end
|
452
|
+
|
453
|
+
=begin rdoc
|
454
|
+
@return [Symbol] the symbol associated with the entry selected in the remote files
|
455
|
+
widget according to {REMOTE_FILES_MODE}
|
456
|
+
=end
|
457
|
+
def remote_files
|
458
|
+
REMOTE_FILES_MODE.invert[@ui._autosave__remote_files.current_index]
|
459
|
+
end
|
460
|
+
|
400
461
|
end
|
401
462
|
|
402
463
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
=begin
|
2
2
|
** Form generated from reading ui file 'autosave_config_widget.ui'
|
3
3
|
**
|
4
|
-
** Created:
|
4
|
+
** Created: mar nov 16 11:52:49 2010
|
5
5
|
** by: Qt User Interface Compiler version 4.7.0
|
6
6
|
**
|
7
7
|
** WARNING! All changes made in this file will be lost when recompiling ui file!
|
@@ -10,9 +10,12 @@
|
|
10
10
|
class Ui_AutosaveConfigWidget
|
11
11
|
attr_reader :verticalLayout_2
|
12
12
|
attr_reader :groupBox
|
13
|
-
attr_reader :
|
14
|
-
attr_reader :
|
13
|
+
attr_reader :gridLayout
|
14
|
+
attr_reader :horizontalLayout
|
15
15
|
attr_reader :_autosave__enable
|
16
|
+
attr_reader :horizontalSpacer
|
17
|
+
attr_reader :label
|
18
|
+
attr_reader :_autosave__remote_files
|
16
19
|
attr_reader :label_2
|
17
20
|
attr_reader :_autosave__plugins
|
18
21
|
|
@@ -20,36 +23,51 @@ class Ui_AutosaveConfigWidget
|
|
20
23
|
if autosaveConfigWidget.objectName.nil?
|
21
24
|
autosaveConfigWidget.objectName = "autosaveConfigWidget"
|
22
25
|
end
|
23
|
-
autosaveConfigWidget.resize(
|
26
|
+
autosaveConfigWidget.resize(494, 300)
|
24
27
|
@verticalLayout_2 = Qt::VBoxLayout.new(autosaveConfigWidget)
|
25
28
|
@verticalLayout_2.objectName = "verticalLayout_2"
|
26
29
|
@groupBox = Qt::GroupBox.new(autosaveConfigWidget)
|
27
30
|
@groupBox.objectName = "groupBox"
|
28
|
-
@
|
29
|
-
@
|
30
|
-
@
|
31
|
-
@
|
31
|
+
@gridLayout = Qt::GridLayout.new(@groupBox)
|
32
|
+
@gridLayout.objectName = "gridLayout"
|
33
|
+
@horizontalLayout = Qt::HBoxLayout.new()
|
34
|
+
@horizontalLayout.objectName = "horizontalLayout"
|
32
35
|
@_autosave__enable = Qt::CheckBox.new(@groupBox)
|
33
36
|
@_autosave__enable.objectName = "_autosave__enable"
|
34
37
|
|
35
|
-
@
|
38
|
+
@horizontalLayout.addWidget(@_autosave__enable)
|
39
|
+
|
40
|
+
@horizontalSpacer = Qt::SpacerItem.new(40, 20, Qt::SizePolicy::Expanding, Qt::SizePolicy::Minimum)
|
41
|
+
|
42
|
+
@horizontalLayout.addItem(@horizontalSpacer)
|
43
|
+
|
44
|
+
@label = Qt::Label.new(@groupBox)
|
45
|
+
@label.objectName = "label"
|
46
|
+
|
47
|
+
@horizontalLayout.addWidget(@label)
|
48
|
+
|
49
|
+
@_autosave__remote_files = KDE::ComboBox.new(@groupBox)
|
50
|
+
@_autosave__remote_files.objectName = "_autosave__remote_files"
|
51
|
+
|
52
|
+
@horizontalLayout.addWidget(@_autosave__remote_files)
|
53
|
+
|
54
|
+
|
55
|
+
@gridLayout.addLayout(@horizontalLayout, 0, 0, 1, 1)
|
36
56
|
|
37
57
|
@label_2 = Qt::Label.new(@groupBox)
|
38
58
|
@label_2.objectName = "label_2"
|
39
59
|
|
40
|
-
@
|
60
|
+
@gridLayout.addWidget(@label_2, 1, 0, 1, 1)
|
41
61
|
|
42
62
|
@_autosave__plugins = AutosavePluginListView.new(@groupBox)
|
43
63
|
@_autosave__plugins.objectName = "_autosave__plugins"
|
44
64
|
|
45
|
-
@
|
46
|
-
|
47
|
-
|
48
|
-
@verticalLayout_3.addLayout(@verticalLayout)
|
65
|
+
@gridLayout.addWidget(@_autosave__plugins, 2, 0, 1, 1)
|
49
66
|
|
50
67
|
|
51
68
|
@verticalLayout_2.addWidget(@groupBox)
|
52
69
|
|
70
|
+
@label.buddy = @_autosave__remote_files
|
53
71
|
@label_2.buddy = @_autosave__plugins
|
54
72
|
|
55
73
|
retranslateUi(autosaveConfigWidget)
|
@@ -65,6 +83,11 @@ class Ui_AutosaveConfigWidget
|
|
65
83
|
autosaveConfigWidget.windowTitle = Qt::Application.translate("AutosaveConfigWidget", "Form", nil, Qt::Application::UnicodeUTF8)
|
66
84
|
@groupBox.title = Qt::Application.translate("AutosaveConfigWidget", "Autosave", nil, Qt::Application::UnicodeUTF8)
|
67
85
|
@_autosave__enable.text = Qt::Application.translate("AutosaveConfigWidget", "&Enable autosave", nil, Qt::Application::UnicodeUTF8)
|
86
|
+
@label.text = Qt::Application.translate("AutosaveConfigWidget", "&Remote files", nil, Qt::Application::UnicodeUTF8)
|
87
|
+
@_autosave__remote_files.insertItems(0, [Qt::Application.translate("AutosaveConfigWidget", "Treat remote files normally", nil, Qt::Application::UnicodeUTF8),
|
88
|
+
Qt::Application.translate("AutosaveConfigWidget", "Don't save remote files", nil, Qt::Application::UnicodeUTF8),
|
89
|
+
Qt::Application.translate("AutosaveConfigWidget", "Ignore errors while saving remote files", nil, Qt::Application::UnicodeUTF8)])
|
90
|
+
@_autosave__remote_files.setProperty("access", Qt::Variant.new(Qt::Application.translate("AutosaveConfigWidget", "$remote_files", nil, Qt::Application::UnicodeUTF8)))
|
68
91
|
@label_2.text = Qt::Application.translate("AutosaveConfigWidget", "&Exceptions", nil, Qt::Application::UnicodeUTF8)
|
69
92
|
@_autosave__plugins.setProperty("access", Qt::Variant.new(Qt::Application.translate("AutosaveConfigWidget", "$plugins", nil, Qt::Application::UnicodeUTF8)))
|
70
93
|
@_autosave__plugins.setProperty("signal", Qt::Variant.new(Qt::Application.translate("AutosaveConfigWidget", "items_changed()", nil, Qt::Application::UnicodeUTF8)))
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<rect>
|
7
7
|
<x>0</x>
|
8
8
|
<y>0</y>
|
9
|
-
<width>
|
9
|
+
<width>494</width>
|
10
10
|
<height>300</height>
|
11
11
|
</rect>
|
12
12
|
</property>
|
@@ -19,9 +19,9 @@
|
|
19
19
|
<property name="title">
|
20
20
|
<string>Autosave</string>
|
21
21
|
</property>
|
22
|
-
<layout class="
|
23
|
-
<item>
|
24
|
-
<layout class="
|
22
|
+
<layout class="QGridLayout" name="gridLayout">
|
23
|
+
<item row="0" column="0">
|
24
|
+
<layout class="QHBoxLayout" name="horizontalLayout">
|
25
25
|
<item>
|
26
26
|
<widget class="QCheckBox" name="_autosave__enable">
|
27
27
|
<property name="text">
|
@@ -30,33 +30,83 @@
|
|
30
30
|
</widget>
|
31
31
|
</item>
|
32
32
|
<item>
|
33
|
-
<
|
33
|
+
<spacer name="horizontalSpacer">
|
34
|
+
<property name="orientation">
|
35
|
+
<enum>Qt::Horizontal</enum>
|
36
|
+
</property>
|
37
|
+
<property name="sizeHint" stdset="0">
|
38
|
+
<size>
|
39
|
+
<width>40</width>
|
40
|
+
<height>20</height>
|
41
|
+
</size>
|
42
|
+
</property>
|
43
|
+
</spacer>
|
44
|
+
</item>
|
45
|
+
<item>
|
46
|
+
<widget class="QLabel" name="label">
|
34
47
|
<property name="text">
|
35
|
-
<string>&
|
48
|
+
<string>&Remote files</string>
|
36
49
|
</property>
|
37
50
|
<property name="buddy">
|
38
|
-
<cstring>
|
51
|
+
<cstring>_autosave__remote_files</cstring>
|
39
52
|
</property>
|
40
53
|
</widget>
|
41
54
|
</item>
|
42
55
|
<item>
|
43
|
-
<widget class="
|
56
|
+
<widget class="KComboBox" name="_autosave__remote_files">
|
44
57
|
<property name="access" stdset="0">
|
45
|
-
<string>$
|
46
|
-
</property>
|
47
|
-
<property name="signal" stdset="0">
|
48
|
-
<string>items_changed()</string>
|
58
|
+
<string>$remote_files</string>
|
49
59
|
</property>
|
60
|
+
<item>
|
61
|
+
<property name="text">
|
62
|
+
<string>Treat remote files normally</string>
|
63
|
+
</property>
|
64
|
+
</item>
|
65
|
+
<item>
|
66
|
+
<property name="text">
|
67
|
+
<string>Don't save remote files</string>
|
68
|
+
</property>
|
69
|
+
</item>
|
70
|
+
<item>
|
71
|
+
<property name="text">
|
72
|
+
<string>Ignore errors while saving remote files</string>
|
73
|
+
</property>
|
74
|
+
</item>
|
50
75
|
</widget>
|
51
76
|
</item>
|
52
77
|
</layout>
|
53
78
|
</item>
|
79
|
+
<item row="1" column="0">
|
80
|
+
<widget class="QLabel" name="label_2">
|
81
|
+
<property name="text">
|
82
|
+
<string>&Exceptions</string>
|
83
|
+
</property>
|
84
|
+
<property name="buddy">
|
85
|
+
<cstring>_autosave__plugins</cstring>
|
86
|
+
</property>
|
87
|
+
</widget>
|
88
|
+
</item>
|
89
|
+
<item row="2" column="0">
|
90
|
+
<widget class="AutosavePluginListView" name="_autosave__plugins">
|
91
|
+
<property name="access" stdset="0">
|
92
|
+
<string>$plugins</string>
|
93
|
+
</property>
|
94
|
+
<property name="signal" stdset="0">
|
95
|
+
<string>items_changed()</string>
|
96
|
+
</property>
|
97
|
+
</widget>
|
98
|
+
</item>
|
54
99
|
</layout>
|
55
100
|
</widget>
|
56
101
|
</item>
|
57
102
|
</layout>
|
58
103
|
</widget>
|
59
104
|
<customwidgets>
|
105
|
+
<customwidget>
|
106
|
+
<class>KComboBox</class>
|
107
|
+
<extends>QComboBox</extends>
|
108
|
+
<header>kcombobox.h</header>
|
109
|
+
</customwidget>
|
60
110
|
<customwidget>
|
61
111
|
<class>AutosavePluginListView</class>
|
62
112
|
<extends>QListView</extends>
|