ruber 0.0.5 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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>
|