/[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 2169 by persson, Sun Mar 6 07:51:04 2011 UTC revision 2332 by persson, Wed Mar 14 05:22:26 2012 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (C) 2006-2011 Andreas Persson   * Copyright (C) 2006-2012 Andreas Persson
3   *   *
4   * This program is free software; you can redistribute it and/or   * This program is free software; you can redistribute it and/or
5   * modify it under the terms of the GNU General Public License as   * modify it under the terms of the GNU General Public License as
# 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 254  MainWindow::MainWindow() : Line 258  MainWindow::MainWindow() :
258      m_VBox.pack_start(m_DimRegionChooser, Gtk::PACK_SHRINK);      m_VBox.pack_start(m_DimRegionChooser, Gtk::PACK_SHRINK);
259      m_VBox.pack_start(m_StatusBar, Gtk::PACK_SHRINK);      m_VBox.pack_start(m_StatusBar, Gtk::PACK_SHRINK);
260    
261        set_file_is_shared(false);
262    
263      // Status Bar:      // Status Bar:
264      m_StatusBar.pack_start(m_AttachedStateLabel, Gtk::PACK_SHRINK);      m_StatusBar.pack_start(m_AttachedStateLabel, Gtk::PACK_SHRINK);
265      m_StatusBar.pack_start(m_AttachedStateImage, Gtk::PACK_SHRINK);      m_StatusBar.pack_start(m_AttachedStateImage, Gtk::PACK_SHRINK);
# Line 356  MainWindow::MainWindow() : Line 362  MainWindow::MainWindow() :
362    
363      file = 0;      file = 0;
364      file_is_changed = false;      file_is_changed = false;
     set_file_is_shared(false);  
365    
366      show_all_children();      show_all_children();
367    
# Line 460  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 468  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 488  Loader::Loader(const char* filename) Line 493  Loader::Loader(const char* filename)
493    
494  void Loader::launch()  void Loader::launch()
495  {  {
496    #ifdef OLD_THREADS
497      thread = Glib::Thread::create(sigc::mem_fun(*this, &Loader::thread_function), true);      thread = Glib::Thread::create(sigc::mem_fun(*this, &Loader::thread_function), true);
498    #else
499        thread = Glib::Threads::Thread::create(sigc::mem_fun(*this, &Loader::thread_function));
500    #endif
501      printf("launch thread=%x\n", thread);      printf("launch thread=%x\n", thread);
502  }  }
503    
# Line 496  float Loader::get_progress() Line 505  float Loader::get_progress()
505  {  {
506      float res;      float res;
507      {      {
508          Glib::Mutex::Lock lock(progressMutex);          Glib::Threads::Mutex::Lock lock(progressMutex);
509          res = progress;          res = progress;
510      }      }
511      return res;      return res;
# Line 616  void MainWindow::on_action_file_open() Line 625  void MainWindow::on_action_file_open()
625      if (dialog.run() == Gtk::RESPONSE_OK) {      if (dialog.run() == Gtk::RESPONSE_OK) {
626          std::string filename = dialog.get_filename();          std::string filename = dialog.get_filename();
627          printf("filename=%s\n", filename.c_str());          printf("filename=%s\n", filename.c_str());
628          printf("on_action_file_open self=%x\n", Glib::Thread::self());          printf("on_action_file_open self=%x\n", Glib::Threads::Thread::self());
629          load_file(filename.c_str());          load_file(filename.c_str());
630          current_gig_dir = Glib::path_get_dirname(filename);          current_gig_dir = Glib::path_get_dirname(filename);
631      }      }
# Line 658  void MainWindow::on_loader_progress() Line 667  void MainWindow::on_loader_progress()
667  void MainWindow::on_loader_finished()  void MainWindow::on_loader_finished()
668  {  {
669      printf("Loader finished!\n");      printf("Loader finished!\n");
670      printf("on_loader_finished self=%x\n", Glib::Thread::self());      printf("on_loader_finished self=%x\n", Glib::Threads::Thread::self());
671      load_gig(loader->gig, loader->filename);      load_gig(loader->gig, loader->filename);
672      load_dialog->hide();      load_dialog->hide();
673  }  }
# Line 910  void MainWindow::on_action_help_about() Line 919  void MainWindow::on_action_help_about()
919      dialog.set_name("Gigedit");      dialog.set_name("Gigedit");
920  #endif  #endif
921      dialog.set_version(VERSION);      dialog.set_version(VERSION);
922      dialog.set_copyright("Copyright (C) 2006-2011 Andreas Persson");      dialog.set_copyright("Copyright (C) 2006-2012 Andreas Persson");
923      dialog.set_comments(_(      dialog.set_comments(_(
924          "Released under the GNU General Public License.\n"          "Released under the GNU General Public License.\n"
925          "\n"          "\n"

Legend:
Removed from v.2169  
changed lines
  Added in v.2332

  ViewVC Help
Powered by ViewVC