manqod 1.1570.0 → 1.1575.0

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.
@@ -481,6 +481,7 @@ class ListModel
481
481
  list.progress.zero(list.object_id,0,@moditem["display"])
482
482
 
483
483
  prep_time=Time.now.to_f-before.to_f
484
+ before=Time.now
484
485
  ff=nil
485
486
  pkeys=Array.new
486
487
  # @thread=Thread.new{
@@ -495,6 +496,7 @@ class ListModel
495
496
  fetch_time=Time.now.to_f-before.to_f
496
497
  list.progress.zero(list.object_id,@rowcount,@moditem["display"])
497
498
 
499
+ before=Time.now
498
500
  pkeys.each{|idx|
499
501
  row=ff[idx]
500
502
  eerror("row #{idx} is nil!","list") if row.nil?
@@ -519,11 +521,12 @@ class ListModel
519
521
 
520
522
  } unless ff.nil? #nil if no keys found, the list is empty
521
523
 
524
+ load_time=Time.now.to_f-before.to_f
522
525
  t=Time.new
523
526
  refilter
524
527
  filtert=Time.new.to_f-t.to_f
525
528
  update_time=Time.now.to_f-before.to_f
526
- enormal("total: #{@filtered_rowcount}/#{@rows_loaded}/#{@rowcount} (p:"+sprintf("%.2fs",prep_time)+",f:"+sprintf("%.2fs",fetch_time)+",refilter:"+sprintf("%.2fs",filtert)+")"+sprintf("%.2fs",update_time),"time")
529
+ enormal("total: #{@filtered_rowcount}/#{@rows_loaded}/#{@rowcount} (prep:"+sprintf("%.2fs",prep_time)+",fetch:"+sprintf("%.2fs",fetch_time)+",load:"+sprintf("%.2fs",load_time)+",refilter:"+sprintf("%.2fs",filtert)+")"+sprintf("%.2fs",update_time),"time")
527
530
  einfo("data loaded #{ids or 'all rows'}","list")
528
531
  else
529
532
  ids.each{|row_id|
@@ -3,12 +3,15 @@
3
3
  #the author of manqod is Dobai-Pataky Balint(dpblnt@gmail.com)
4
4
 
5
5
  class HeaderLayout
6
+ include ManqodCommon
6
7
  def initialize(cr,pop)
7
8
  @pop=pop
8
9
  @layout = cr.create_pango_layout
9
- layout.set_text(pop.list.title).set_width(@pop.pango_width)
10
+ text=pop.list.gtk_attribute("print_custom_header").nil? ? pop.list.title : eeval(pop.list.gtk_attribute("print_custom_header"),pop.list).to_s
11
+ ecode(text)
12
+ layout.set_text(text).set_width(@pop.pango_width)
10
13
  layout.set_font_description(Pango::FontDescription.new(@pop.header_font))
11
- layout.set_wrap(Pango::Layout::WRAP_WORD).set_ellipsize(Pango::Layout::ELLIPSIZE_NONE).set_single_paragraph_mode(true)
14
+ layout.set_wrap(Pango::Layout::WRAP_WORD).set_ellipsize(Pango::Layout::ELLIPSIZE_NONE).set_single_paragraph_mode(false)
12
15
  layout.set_alignment(Pango::Layout::Alignment::CENTER)
13
16
 
14
17
  @tlayout = cr.create_pango_layout
@@ -11,6 +11,7 @@ class MyEditableList < Gtk::TreeView
11
11
 
12
12
  def initialize(caller)
13
13
  @caller=caller
14
+ @back_button=false
14
15
  @list_id=nil
15
16
  @parentM=nil
16
17
  @info=caller.info
@@ -60,8 +61,11 @@ class MyEditableList < Gtk::TreeView
60
61
  signal_connect("row-collapsed"){|me, iter, path|
61
62
  me.expand_all if @keep_expanded
62
63
  }
64
+
65
+ @popup=Gtk::Menu.new
63
66
  end
64
67
  attr_accessor :caller, :selected, :list_id, :list_model, :parentM, :headertypes, :headers, :info, :title, :tip, :pop, :tmp, :is_embedded
68
+ attr_reader :single_list_mode
65
69
 
66
70
  def holder
67
71
  @caller
@@ -110,6 +114,11 @@ class MyEditableList < Gtk::TreeView
110
114
  self
111
115
  end
112
116
 
117
+ def set_back_button(bb=true)
118
+ @back_button=bb
119
+ self
120
+ end
121
+
113
122
  def set_parentM(parentM)
114
123
  @parentM=parentM
115
124
  self
@@ -193,6 +202,7 @@ class MyEditableList < Gtk::TreeView
193
202
  return
194
203
  end
195
204
  @keep_expanded=(gtk_attribute("keep_expanded") || "false") == "true"
205
+ @single_list_mode=(gtk_attribute('single_list_mode') || "false") == "true"
196
206
  set_model(nil)
197
207
  @list_model.create_skeleton
198
208
  set_info("initializing")
@@ -220,6 +230,32 @@ class MyEditableList < Gtk::TreeView
220
230
  @caller.advanced_filter.update
221
231
  @caller.sum_button.update
222
232
  @caller.buttonholder.update(self)
233
+ #build context menu
234
+ if single_list_mode
235
+ @list_model.drbmodel.childs.each{|ch|
236
+ @popup.append(item=Gtk::MenuItem.new(ch["display"]))
237
+ item.signal_connect("activate",ch["id"].to_i){|me,child_id|
238
+ einfo("#{me.label.inspect}(#{child_id}) activated on #{get_cursor_id}")
239
+ holder.pack_child(child_id)
240
+ }
241
+ }
242
+ end
243
+ #add back
244
+ if @back_button
245
+ @popup.append(item=Gtk::MenuItem.new("back"))
246
+ item.signal_connect("activate"){|me|
247
+ einfo("#{me.label} activated on #{get_cursor_id}")
248
+ parentM.holder.repack_self
249
+ }
250
+ end
251
+
252
+ @popup.show_all
253
+ signal_connect("button_release_event"){|me,ev|
254
+ if ev.kind_of? Gdk::EventButton and ev.button == 3
255
+ @popup.popup(nil,nil,ev.button,ev.time)
256
+ end
257
+ }
258
+
223
259
  self
224
260
  end
225
261
 
data/lib/ListHolder.rb CHANGED
@@ -39,6 +39,7 @@ module Mylist
39
39
  @caller=caller
40
40
  @list_id=nil
41
41
  @parentM=nil
42
+ @single_mode_child=nil
42
43
  @info=Gtk::Label.new('initializing')
43
44
  @list=MyEditableList.new(self)
44
45
  @list.signal_connect('size-allocate'){|me,alloc|
@@ -114,7 +115,7 @@ module Mylist
114
115
  case notifier.class.name
115
116
  when 'BarMenuItem', 'ButtonMenuItem', 'MyRendererButton'
116
117
  list.set_id(@list_id=notifier.target)
117
- when 'MyEditableList'
118
+ when 'MyEditableList', 'Mylist::MyListHolder'
118
119
  list.set_id(@list_id) #preserve the last id
119
120
  else
120
121
  edebug("unknown routing: #{notifier.class.name}","list","warning")
@@ -161,7 +162,7 @@ module Mylist
161
162
 
162
163
  #children
163
164
  @submodules=list.list_model.drbmodel.childs.size
164
- if @submodules>0
165
+ if @submodules>0 && !list.single_list_mode
165
166
  @notebook=MyNotebook.new(self)
166
167
  @notebook.show_all
167
168
  pack2(@notebook)
@@ -177,13 +178,29 @@ module Mylist
177
178
 
178
179
  show_all
179
180
  list_panel.set_visibility
180
- @notebook.update(@list) if @submodules>0
181
+ @notebook.update(@list) if @submodules>0 && !list.single_list_mode
181
182
  @list.load_data(notifier)
182
183
  @gantt.update unless @gantt.nil?
183
184
  end
184
185
 
185
186
  def repack_widget
186
187
  end
188
+
189
+ def pack_child(child_id)
190
+ remove(@widget)
191
+ @single_mode_child=Mylist::MyListHolder.new(self)
192
+ @single_mode_child.set_parentM(list)
193
+ @single_mode_child.list.set_back_button(true).set_id(child_id)
194
+ @single_mode_child.update(self)
195
+
196
+
197
+ add(@single_mode_child)
198
+ end
199
+ def repack_self
200
+ remove(@single_mode_child)
201
+ @single_mode_child.destroy unless @single_mode_child.nil? || @single_mode_child.destroyed?
202
+ add(@widget)
203
+ end
187
204
 
188
205
  def history_window
189
206
  HistoryWindow.new(self)
data/lib/Memcache.rb CHANGED
@@ -25,7 +25,7 @@ class Memcache
25
25
  case memcache_lib
26
26
  when :memcached
27
27
  options[:default_ttl] = 0
28
- options[:timeout] = 2
28
+ options[:timeout] = 30
29
29
  @memcache = Memcached.new(servers,options)
30
30
  when :dalli
31
31
  options.delete(:prefix_key)
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
- - 1570
7
+ - 1575
8
8
  - 0
9
- version: 1.1570.0
9
+ version: 1.1575.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Dobai-Pataky Balint
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-08-23 00:00:00 +03:00
17
+ date: 2011-09-16 00:00:00 +03:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency