add code to display announcements, and parameterize several URL's used in the program
git-svn-id: svn://localhost/ardour2/branches/3.0@14197 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
e1d7307056
commit
e701adea41
|
@ -2874,13 +2874,13 @@ ARDOUR_UI::show_about ()
|
|||
void
|
||||
ARDOUR_UI::launch_manual ()
|
||||
{
|
||||
PBD::open_uri("http://ardour.org/flossmanual");
|
||||
PBD::open_uri (Config->get_tutorial_manual_url());
|
||||
}
|
||||
|
||||
void
|
||||
ARDOUR_UI::launch_reference ()
|
||||
{
|
||||
PBD::open_uri ("http://ardour.org/refmanual");
|
||||
PBD::open_uri (Config->get_reference_manual_url());
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -30,11 +30,14 @@
|
|||
|
||||
#include "pbd/compose.h"
|
||||
#include "pbd/pthread_utils.h"
|
||||
|
||||
#include "ardour/filesystem_paths.h"
|
||||
#include "ardour/rc_configuration.h"
|
||||
|
||||
#include "pingback.h"
|
||||
|
||||
using std::string;
|
||||
using namespace ARDOUR;
|
||||
|
||||
static size_t
|
||||
curl_write_data (char *bufptr, size_t size, size_t nitems, void *ptr)
|
||||
|
@ -96,9 +99,9 @@ _pingback (void *arg)
|
|||
string url;
|
||||
|
||||
#ifdef __APPLE__
|
||||
url = "https://community.ardour.org/pingback/osx/";
|
||||
url = Config->get_osx_pingback_url ();
|
||||
#else
|
||||
url = "https://community.ardour.org/pingback/linux/";
|
||||
url = Config->get_linux_pingback_url ();
|
||||
#endif
|
||||
|
||||
char* v = curl_easy_escape (c, cm->version.c_str(), cm->version.length());
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "pbd/replace_all.h"
|
||||
#include "pbd/whitespace.h"
|
||||
#include "pbd/stacktrace.h"
|
||||
#include "pbd/openuri.h"
|
||||
|
||||
#include "ardour/filesystem_paths.h"
|
||||
#include "ardour/recent_sessions.h"
|
||||
|
@ -551,7 +552,34 @@ ArdourStartup::setup_initial_choice_page ()
|
|||
|
||||
centering_vbox->pack_start (ic_new_session_button, false, true);
|
||||
centering_vbox->pack_start (ic_existing_session_button, false, true);
|
||||
|
||||
if (ARDOUR_UI::instance()->announce_string() != "" ) {
|
||||
|
||||
Gtk::Frame *info_frame = manage(new Gtk::Frame);
|
||||
info_frame->set_shadow_type(SHADOW_ETCHED_OUT);
|
||||
centering_vbox->pack_start (*info_frame, false, false, 20);
|
||||
|
||||
Box *info_box = manage (new VBox);
|
||||
info_box->set_border_width (12);
|
||||
info_box->set_spacing (6);
|
||||
info_box->set_name("mixbus_info_box");
|
||||
|
||||
info_box->pack_start (info_scroller_label, false, false);
|
||||
|
||||
info_frame->add (*info_box);
|
||||
info_frame->show_all();
|
||||
|
||||
info_scroller_count = 0;
|
||||
info_scroller_connection = Glib::signal_timeout().connect (mem_fun(*this, &ArdourStartup::info_scroller_update), 50);
|
||||
|
||||
Gtk::Button *updates_button = manage (new Gtk::Button (_("Check the website for more...")));
|
||||
|
||||
updates_button->signal_clicked().connect (mem_fun(*this, &ArdourStartup::updates_button_clicked) );
|
||||
ARDOUR_UI::instance()->tooltips().set_tip (*updates_button, _("Click to open the program website in your web browser"));
|
||||
|
||||
info_box->pack_start (*updates_button, false, false);
|
||||
}
|
||||
|
||||
ic_new_session_button.signal_button_press_event().connect(sigc::mem_fun(*this, &ArdourStartup::initial_button_clicked), false);
|
||||
ic_new_session_button.signal_activate().connect(sigc::mem_fun(*this, &ArdourStartup::initial_button_activated), false);
|
||||
|
||||
|
@ -1410,3 +1438,28 @@ ArdourStartup::been_here_before_path () const
|
|||
// XXXX use more specific version so we can catch upgrades
|
||||
return Glib::build_filename (user_config_directory (), ".a3");
|
||||
}
|
||||
|
||||
void
|
||||
ArdourStartup::updates_button_clicked ()
|
||||
{
|
||||
//now open a browser window so user can see more
|
||||
PBD::open_uri (Config->get_updates_url());
|
||||
}
|
||||
|
||||
bool
|
||||
ArdourStartup::info_scroller_update()
|
||||
{
|
||||
info_scroller_count++;
|
||||
|
||||
char buf[512];
|
||||
snprintf (buf, std::min(info_scroller_count,sizeof(buf)-1), "%s", ARDOUR_UI::instance()->announce_string().c_str() );
|
||||
buf[info_scroller_count] = NULL;
|
||||
info_scroller_label.set_text (buf);
|
||||
info_scroller_label.show();
|
||||
|
||||
if (info_scroller_count > ARDOUR_UI::instance()->announce_string().length()) {
|
||||
info_scroller_connection.disconnect();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -295,6 +295,12 @@ class ArdourStartup : public Gtk::Assistant {
|
|||
|
||||
bool _existing_session_chooser_used; ///< set to true when the existing session chooser has been used
|
||||
void setup_prerelease_page ();
|
||||
|
||||
Gtk::Label info_scroller_label;
|
||||
std::string::size_type info_scroller_count;
|
||||
bool info_scroller_update();
|
||||
sigc::connection info_scroller_connection;
|
||||
void updates_button_clicked ();
|
||||
};
|
||||
|
||||
#endif /* __gtk2_ardour_startup_h__ */
|
||||
|
|
|
@ -206,3 +206,11 @@ CONFIG_VARIABLE (bool, use_tooltips, "use-tooltips", true)
|
|||
CONFIG_VARIABLE (std::string, mixer_strip_visibility, "mixer-strip-visibility", "PhaseInvert,SoloSafe,SoloIsolated,Group,MeterPoint")
|
||||
CONFIG_VARIABLE (bool, allow_non_quarter_pulse, "allow-non-quarter-pulse", false)
|
||||
CONFIG_VARIABLE (bool, show_region_gain, "show-region-gain", false)
|
||||
|
||||
/* web addresses used in the program */
|
||||
|
||||
CONFIG_VARIABLE (std::string, osx_pingback_url, "osx-pingback-url", "https://community.ardour.org/pingback/osx/")
|
||||
CONFIG_VARIABLE (std::string, linux_pingback_url, "linux-pingback-url", "https://community.ardour.org/pingback/linux/")
|
||||
CONFIG_VARIABLE (std::string, tutorial_manual_url, "tutorial-manual-url", "http://ardour.org/flossmanual")
|
||||
CONFIG_VARIABLE (std::string, reference_manual_url, "reference-manual-url", "http://manual.ardour.org/")
|
||||
CONFIG_VARIABLE (std::string, updates_url, "updates-url", "http://ardour.org/whatsnew.html")
|
||||
|
|
|
@ -55,3 +55,8 @@ PBD::open_uri (const char* uri)
|
|||
#endif
|
||||
}
|
||||
|
||||
bool
|
||||
PBD::open_uri (const std::string& uri)
|
||||
{
|
||||
return open_uri (uri.c_str());
|
||||
}
|
||||
|
|
|
@ -20,8 +20,11 @@
|
|||
#ifndef __libpbd_openuri_h__
|
||||
#define __libpbd_openuri_h__
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace PBD {
|
||||
bool open_uri (const char*);
|
||||
bool open_uri (const std::string&);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue