manqod 1.1570.0 → 1.1575.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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