/[svn]/gigedit/trunk/src/gigedit/mainwindow.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/mainwindow.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2246 by persson, Fri Aug 19 10:55:41 2011 UTC revision 2325 by persson, Sun Mar 4 09:01:40 2012 UTC
# Line 20  Line 20 
20  #include <iostream>  #include <iostream>
21  #include <cstring>  #include <cstring>
22    
23    #include <glibmm/convert.h>
24    #include <glibmm/dispatcher.h>
25    #include <glibmm/miscutils.h>
26    #include <glibmm/stringutils.h>
27  #include <gtkmm/aboutdialog.h>  #include <gtkmm/aboutdialog.h>
28  #include <gtkmm/filechooserdialog.h>  #include <gtkmm/filechooserdialog.h>
29  #include <gtkmm/messagedialog.h>  #include <gtkmm/messagedialog.h>
# Line 461  void loader_progress_callback(gig::progr Line 465  void loader_progress_callback(gig::progr
465  void Loader::progress_callback(float fraction)  void Loader::progress_callback(float fraction)
466  {  {
467      {      {
468          Glib::Mutex::Lock lock(progressMutex);          Glib::Threads::Mutex::Lock lock(progressMutex);
469          progress = fraction;          progress = fraction;
470      }      }
471      progress_dispatcher();      progress_dispatcher();
# Line 469  void Loader::progress_callback(float fra Line 473  void Loader::progress_callback(float fra
473    
474  void Loader::thread_function()  void Loader::thread_function()
475  {  {
476      printf("thread_function self=%x\n", Glib::Thread::self());      printf("thread_function self=%x\n", Glib::Threads::Thread::self());
477      printf("Start %s\n", filename);      printf("Start %s\n", filename);
478      RIFF::File* riff = new RIFF::File(filename);      RIFF::File* riff = new RIFF::File(filename);
479      gig = new gig::File(riff);      gig = new gig::File(riff);
# Line 489  Loader::Loader(const char* filename) Line 493  Loader::Loader(const char* filename)
493    
494  void Loader::launch()  void Loader::launch()
495  {  {
496      thread = Glib::Thread::create(sigc::mem_fun(*this, &Loader::thread_function), true);      thread = Glib::Threads::Thread::create(sigc::mem_fun(*this, &Loader::thread_function), true);
497      printf("launch thread=%x\n", thread);      printf("launch thread=%x\n", thread);
498  }  }
499    
# Line 497  float Loader::get_progress() Line 501  float Loader::get_progress()
501  {  {
502      float res;      float res;
503      {      {
504          Glib::Mutex::Lock lock(progressMutex);          Glib::Threads::Mutex::Lock lock(progressMutex);
505          res = progress;          res = progress;
506      }      }
507      return res;      return res;
# Line 617  void MainWindow::on_action_file_open() Line 621  void MainWindow::on_action_file_open()
621      if (dialog.run() == Gtk::RESPONSE_OK) {      if (dialog.run() == Gtk::RESPONSE_OK) {
622          std::string filename = dialog.get_filename();          std::string filename = dialog.get_filename();
623          printf("filename=%s\n", filename.c_str());          printf("filename=%s\n", filename.c_str());
624          printf("on_action_file_open self=%x\n", Glib::Thread::self());          printf("on_action_file_open self=%x\n", Glib::Threads::Thread::self());
625          load_file(filename.c_str());          load_file(filename.c_str());
626          current_gig_dir = Glib::path_get_dirname(filename);          current_gig_dir = Glib::path_get_dirname(filename);
627      }      }
# Line 659  void MainWindow::on_loader_progress() Line 663  void MainWindow::on_loader_progress()
663  void MainWindow::on_loader_finished()  void MainWindow::on_loader_finished()
664  {  {
665      printf("Loader finished!\n");      printf("Loader finished!\n");
666      printf("on_loader_finished self=%x\n", Glib::Thread::self());      printf("on_loader_finished self=%x\n", Glib::Threads::Thread::self());
667      load_gig(loader->gig, loader->filename);      load_gig(loader->gig, loader->filename);
668      load_dialog->hide();      load_dialog->hide();
669  }  }

Legend:
Removed from v.2246  
changed lines
  Added in v.2325

  ViewVC Help
Powered by ViewVC