Advertisement
Guest User

Untitled

a guest
May 30th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.46 KB | None | 0 0
  1. #!/usr/bin/ruby
  2.  
  3. dir = "/#{`which #{$PROGRAM_NAME}`.split("/")[0..-2].join("/")}"
  4. require 'active_record'
  5. require 'yaml'
  6. Dir.chdir("#{dir}/multi-project-metrics-history-db") do
  7.   ActiveRecord::Base.establish_connection(YAML::load(File.open('config/database.yml')))
  8.   Dir.chdir("app/models") do
  9.     require 'author'
  10.     require 'commit'
  11.     require 'metric'
  12.     require 'project'
  13.   end
  14. end
  15. Dir.chdir("#{dir}/metrics-history") do
  16.   require 'AnalizoRunner'
  17. end
  18. require 'Qt4'
  19.  
  20. class QtMultiProjectMetricsHistory < Qt::MainWindow
  21.   slots :add
  22.  
  23.   def initialize(parent = nil)
  24.     super
  25.     @project_line_edit = Qt::LineEdit.new
  26.     @add_button = Qt::PushButton.new "Add"
  27.     @project_list_view = Qt::ListView.new
  28.     @project_list_model = Qt::StringListModel.new
  29.     @upper_layout = Qt::HBoxLayout.new
  30.     @main_layout = Qt::VBoxLayout.new
  31.    
  32.     projects = Project.find(:all).map{ |p| p.name }
  33.     @project_list_model.setStringList projects
  34.     @project_list_view.setModel @project_list_model
  35.    
  36.     connect @add_button, SIGNAL(:clicked), self, SLOT(:add)
  37.    
  38.     [
  39.       @project_line_edit,
  40.       @add_button
  41.     ].each{ |w| @upper_layout.addWidget w }
  42.     @main_layout.addLayout @upper_layout
  43.     @main_layout.addWidget @project_list_view
  44.     resize 800, 700
  45.   end
  46.   def add
  47.     Project.new(:name => @project_line_edit.text).save
  48.     projects = Project.find(:all).map{ |p| p.name }
  49.     @project_list_model.setStringList projects
  50.   end
  51. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement