aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2013-10-06 10:55:18 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-10-06 10:55:18 -0700
commit70352c3962cf3b4379590326cdc489ac0543f7e9 (patch)
treef19231854c95ef2d509c46213ff11eb07ef4c057
parentb01cc72ef5ceefd09d5ba1bf80e82a1c78e6a477 (diff)
downloadsubsurface-70352c3962cf3b4379590326cdc489ac0543f7e9.tar.gz
Remove lots of ifdef'ed out code from GTK/glib version
There's still a ton more left, but this is a start. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--divelist.c34
-rw-r--r--info.c284
-rw-r--r--profile.c69
-rw-r--r--qt-gui.cpp3
4 files changed, 1 insertions, 389 deletions
diff --git a/divelist.c b/divelist.c
index 82b8e1128..e0ad204b7 100644
--- a/divelist.c
+++ b/divelist.c
@@ -534,38 +534,6 @@ void update_cylinder_related_info(struct dive *dive)
}
}
-#if USE_GTK_UI
-static void get_string(char **str, const char *s)
-{
- int len;
- char *n;
-
- if (!s)
- s = "";
- len = g_utf8_strlen(s, -1);
- if (len > 60)
- len = 60;
- n = malloc(len * sizeof(gunichar) + 1);
- g_utf8_strncpy(n, s, len);
- *str = n;
-}
-
-void get_location(struct dive *dive, char **str)
-{
- get_string(str, dive->location);
-}
-
-void get_cylinder(struct dive *dive, char **str)
-{
- get_string(str, dive->cylinder[0].type.description);
-}
-
-void get_suit(struct dive *dive, char **str)
-{
- get_string(str, dive->suit);
-}
-#endif
-
#define MAX_DATE_STRING 256
/* caller needs to free the string */
char *get_dive_date_string(timestamp_t when)
@@ -610,7 +578,7 @@ char *get_trip_date_string(timestamp_t when, int nr)
utc_mkdate(when, &tm);
if (nr != 1) {
snprintf(buffer, MAX_DATE_STRING,
-#if 0
+#if PLURAL_HANDLING_IN_TRANLATION
/*++GETTEXT 60 char buffer monthname, year, nr dives */
ngettext("%1$s %2$d (%3$d dive)",
"%1$s %2$d (%3$d dives)", nr),
diff --git a/info.c b/info.c
index 6a1e7a0d5..e5978fc4b 100644
--- a/info.c
+++ b/info.c
@@ -24,287 +24,11 @@
#include "display.h"
#include "divelist.h"
-#if USE_GTK_UI
-
-/* old is NULL or a valid string, new is a valid string
- * NOTE: NULL and "" need to be treated as "unchanged" */
-int text_changed(const char *old, const char *new)
-{
- return (old && strcmp(old,new)) ||
- (!old && strcmp("",new));
-}
-
-static const char *skip_space(const char *str)
-{
- if (str) {
- while (g_ascii_isspace(*str))
- str++;
- if (!*str)
- str = NULL;
- }
- return str;
-}
-
-/*
- * should this string be changed?
- * The "master" string is the string of the current dive - we only consider it
- * changed if the old string is either empty, or matches that master string.
- */
-char *evaluate_string_change(const char *newstring, char **textp, const char *master)
-{
- char *old = *textp;
- const char *old_text;
-
- old_text = skip_space(old);
- master = skip_space(master);
-
- /*
- * If we had a master string, and it doesn't match our old
- * string, we will always pick the old value (it means that
- * we're editing another dive's info that already had a
- * valid value).
- */
- if (master && old_text)
- if (strcmp(master, old_text))
- return NULL;
-
- while (g_ascii_isspace(*newstring))
- newstring++;
- /* If the master string didn't change, don't change other dives either! */
- if (!text_changed(master, newstring))
- return NULL;
- if (!text_changed(old, newstring))
- return NULL;
- free(old);
- *textp = strdup(newstring);
- return *textp;
-}
-
-int divename(char *buf, size_t size, struct dive *dive, char *trailer)
-{
- struct tm tm;
-
- utc_mkdate(dive->when, &tm);
- /*++GETTEXT 80 char buffer: dive nr, weekday, month, day, year, hour, min <trailing text>*/
- return snprintf(buf, size, tr("Dive #%1$d - %2$s %3$02d/%4$02d/%5$04d at %6$d:%7$02d %8$s"),
- dive->number,
- weekday(tm.tm_wday),
- tm.tm_mon+1, tm.tm_mday,
- tm.tm_year+1900,
- tm.tm_hour, tm.tm_min,
- trailer);
-}
-
-/* caller should free the string returned after it is no longer needed */
-const char *get_window_title(struct dive *dive)
-{
- const char *text;
- const int maxlen = 128;
- char *basename;
- char *title;
- char *buffer = NULL;
- int len1, len2, sz;
-
- if (!dive) {
- if (existing_filename) {
- char *basename;
- basename = g_path_get_basename(existing_filename);
- len1 = sizeof("Subsurface: ");
- len2 = g_utf8_strlen(basename, -1);
- sz = (len1 + len2) * sizeof(gunichar);
- title = malloc(sz);
- strncpy(title, "Subsurface: ", len1);
- g_utf8_strncpy(title + len1, basename, len2);
- } else {
- title = strdup("Subsurface");
- }
- } else {
- /* dive number and location (or lacking that, the date) go in the window title */
- text = dive->location;
- if (!text)
- text = "";
- if (*text) {
- if (dive->number) {
- len1 = g_utf8_strlen(text, -1);
- sz = (len1 + 32) * sizeof(gunichar);
- buffer = malloc(sz);
- snprintf(buffer, sz, tr("Dive #%d - "), dive->number);
- g_utf8_strncpy(buffer + strlen(buffer), text, len1);
- text = buffer;
- }
- } else {
- sz = (maxlen + 32) * sizeof(gunichar);
- buffer = malloc(sz);
- divename(buffer, sz, dive, "");
- text = buffer;
- }
- /* put it all together */
- if (existing_filename) {
- basename = g_path_get_basename(existing_filename);
- len1 = g_utf8_strlen(basename, -1);
- len2 = g_utf8_strlen(text, -1);
- if (len2 > maxlen)
- len2 = maxlen;
- sz = (len1 + len2 + 3) * sizeof(gunichar); /* reserver space for ": " */
- title = malloc(sz);
- g_utf8_strncpy(title, basename, len1);
- strncpy(title + strlen(basename), (const char *)": ", 2);
- g_utf8_strncpy(title + strlen(basename) + 2, text, len2);
- } else {
- title = strdup(text);
- }
- if (buffer)
- free(buffer);
- }
- return title;
-}
-
-/* this is used to skip the cardinal directions (or check if they are
- * present). You pass in the text and a STRING with the direction.
- * This checks for both the standard english text (just one character)
- * and the translated text (possibly longer) and returns 0 if not found
- * and the number of chars to skip otherwise. */
-static int string_advance_cardinal(const char *text, const char *look)
-{
- char *trans;
- int len = strlen(look);
- if (!strncasecmp(text, look, len))
- return len;
- trans = tr(look);
- len = strlen(trans);
- if (!strncasecmp(text, trans, len))
- return len;
- return 0;
-}
-
-/* this has to be done with UTF8 as people might want to enter the degree symbol */
-bool parse_gps_text(const char *gps_text, double *latitude, double *longitude)
-{
- const char *text = gps_text;
- char *endptr;
- bool south = FALSE;
- bool west = FALSE;
- double parselat, parselong;
- gunichar degrees = UCS4_DEGREE;
- gunichar c;
- int incr;
-
- while (g_unichar_isspace(g_utf8_get_char(text)))
- text = g_utf8_next_char(text);
-
- /* an empty string is interpreted as 0.0,0.0 and therefore "no gps location" */
- if (!*text) {
- *latitude = 0.0;
- *longitude = 0.0;
- return TRUE;
- }
- /* ok, let's parse by hand - first degrees of latitude */
- text += string_advance_cardinal(text, "N");
- if ((incr = string_advance_cardinal(text, "S")) > 0) {
- text += incr;
- south = TRUE;
- }
- parselat = g_ascii_strtod(text, &endptr);
- if (text == endptr)
- return FALSE;
- text = endptr;
- if (parselat < 0.0) {
- south = TRUE;
- parselat *= -1;
- }
-
- /* next optional minutes as decimal, skipping degree symbol */
- while (g_unichar_isspace(c = g_utf8_get_char(text)) || c == degrees)
- text = g_utf8_next_char(text);
- incr = string_advance_cardinal(text, "E") + string_advance_cardinal(text, "W");
- if (!incr && c != ';' && c != ',') {
- parselat += g_ascii_strtod(text, &endptr) / 60.0;
- if (text == endptr)
- return FALSE;
- text = endptr;
- /* skip trailing minute symbol */
- if (g_utf8_get_char(text) == '\'')
- text = g_utf8_next_char(text);
- }
- /* skip seperator between latitude and longitude */
- while (g_unichar_isspace(c = g_utf8_get_char(text)) || c == ';' || c == ',')
- text = g_utf8_next_char(text);
-
- /* next degrees of longitude */
- text += string_advance_cardinal(text, "E");
- if ((incr = string_advance_cardinal(text, "W")) > 0) {
- text += incr;
- west = TRUE;
- }
- parselong = g_ascii_strtod(text, &endptr);
- if (text == endptr)
- return FALSE;
- text = endptr;
- if (parselong < 0.0) {
- west = TRUE;
- parselong *= -1;
- }
-
- /* next optional minutes as decimal, skipping degree symbol */
- while (g_unichar_isspace(c = g_utf8_get_char(text)) || c == degrees)
- text = g_utf8_next_char(text);
- if (*text) {
- parselong += g_ascii_strtod(text, &endptr) / 60.0;
- if (text == endptr)
- return FALSE;
- text = endptr;
- /* skip trailing minute symbol */
- if (g_utf8_get_char(text) == '\'')
- text = g_utf8_next_char(text);
- /* make sure there's nothing else left on the input */
- while (g_unichar_isspace(g_utf8_get_char(text)))
- text = g_utf8_next_char(text);
- if (*text)
- return FALSE;
- }
- if (west && parselong > 0.0)
- parselong *= -1;
- if (south && parselat > 0.0)
- parselat *= -1;
- *latitude = parselat;
- *longitude = parselong;
- return TRUE;
-}
-
-bool gps_changed(struct dive *dive, struct dive *master, const char *gps_text)
-{
- double latitude, longitude;
- int latudeg, longudeg;
-
- /* if we have a master and the dive's gps address is different from it,
- * don't change the dive */
- if (master && (master->latitude.udeg != dive->latitude.udeg ||
- master->longitude.udeg != dive->longitude.udeg))
- return FALSE;
-
- if (!parse_gps_text(gps_text, &latitude, &longitude))
- return FALSE;
-
- latudeg = rint(1000000 * latitude);
- longudeg = rint(1000000 * longitude);
-
- /* if dive gps didn't change, nothing changed */
- if (dive->latitude.udeg == latudeg && dive->longitude.udeg == longudeg)
- return FALSE;
- /* ok, update the dive and mark things changed */
- dive->latitude.udeg = latudeg;
- dive->longitude.udeg = longudeg;
- return TRUE;
-}
-#endif
/* take latitude and longitude in udeg and print them in a human readable
* form, without losing precision */
void print_gps_coordinates(char *buffer, int len, int lat, int lon)
{
unsigned int latdeg, londeg;
-#if 0
- double latmin, lonmin;
-#endif
const char *lath, *lonh;
char dbuf_lat[32], dbuf_lon[32];
@@ -318,18 +42,10 @@ void print_gps_coordinates(char *buffer, int len, int lat, int lon)
lon = abs(lon);
latdeg = lat / 1000000;
londeg = lon / 1000000;
-#if 0
- latmin = (lat % 1000000) * 60.0 / 1000000.0;
- lonmin = (lon % 1000000) * 60.0 / 1000000.0;
- *dbuf_lat = *dbuf_lon = 0;
- g_ascii_formatd(dbuf_lat, sizeof(dbuf_lat), "%8.5f", latmin);
- g_ascii_formatd(dbuf_lon, sizeof(dbuf_lon), "%8.5f", lonmin);
-#else
int ilatmin = (lat % 1000000) * 60;
int ilonmin = (lon % 1000000) * 60;
snprintf(dbuf_lat, sizeof(dbuf_lat), "%2d.%05d", ilatmin / 1000000, (ilatmin % 1000000) / 10);
snprintf(dbuf_lon, sizeof(dbuf_lon), "%2d.%05d", ilonmin / 1000000, (ilonmin % 1000000) / 10);
-#endif
if (!*dbuf_lat || !*dbuf_lon) {
*buffer = 0;
return;
diff --git a/profile.c b/profile.c
index 0bb75579c..656c6bb6a 100644
--- a/profile.c
+++ b/profile.c
@@ -8,9 +8,6 @@
#include "dive.h"
#include "display.h"
-#if USE_GTK_UI
-#include "display-gtk.h"
-#endif
#include "divelist.h"
#include "profile.h"
@@ -28,24 +25,6 @@ static struct plot_data *last_pi_entry = NULL;
#define cairo_set_line_width_scaled(cr, w) \
cairo_set_line_width((cr), (w) * plot_scale);
-#if USE_GTK_UI
-
-/* keep the last used gc around so we can invert the SCALEX calculation in
- * order to calculate a time value for an x coordinate */
-static struct graphics_context last_gc;
-int x_to_time(double x)
-{
- int seconds = (x - last_gc.drawing_area.x) / last_gc.maxx * (last_gc.rightx - last_gc.leftx) + last_gc.leftx;
- return (seconds > 0) ? seconds : 0;
-}
-
-/* x offset into the drawing area */
-int x_abs(double x)
-{
- return x - last_gc.drawing_area.x;
-}
-#endif /* USE_GTK_UI */
-
/* debugging tool - not normally used */
static void dump_pi (struct plot_info *pi)
{
@@ -205,54 +184,6 @@ void setup_pp_limits(struct graphics_context *gc)
gc->bottomy = -gc->topy / 20;
}
-
-#if 0
-
-static void plot_smoothed_profile(struct graphics_context *gc, struct plot_info *pi)
-{
- int i;
- struct plot_data *entry = pi->entry;
-
- set_source_rgba(gc, SMOOTHED);
- move_to(gc, entry->sec, entry->smoothed);
- for (i = 1; i < pi->nr; i++) {
- entry++;
- line_to(gc, entry->sec, entry->smoothed);
- }
- cairo_stroke(gc->cr);
-}
-
-static void plot_minmax_profile_minute(struct graphics_context *gc, struct plot_info *pi,
- int index)
-{
- int i;
- struct plot_data *entry = pi->entry;
-
- set_source_rgba(gc, MINUTE);
- move_to(gc, entry->sec, entry->min[index]->depth);
- for (i = 1; i < pi->nr; i++) {
- entry++;
- line_to(gc, entry->sec, entry->min[index]->depth);
- }
- for (i = 1; i < pi->nr; i++) {
- line_to(gc, entry->sec, entry->max[index]->depth);
- entry--;
- }
- cairo_close_path(gc->cr);
- cairo_fill(gc->cr);
-}
-
-static void plot_minmax_profile(struct graphics_context *gc, struct plot_info *pi)
-{
- if (gc->printer)
- return;
- plot_minmax_profile_minute(gc, pi, 2);
- plot_minmax_profile_minute(gc, pi, 1);
- plot_minmax_profile_minute(gc, pi, 0);
-}
-
-#endif /* USE_GTK_UI */
-
int get_cylinder_pressure_range(struct graphics_context *gc)
{
gc->leftx = 0;
diff --git a/qt-gui.cpp b/qt-gui.cpp
index 098124585..178ed52af 100644
--- a/qt-gui.cpp
+++ b/qt-gui.cpp
@@ -66,10 +66,7 @@ Translator::Translator(QObject *parent):
QString Translator::translate(const char *context, const char *sourceText,
const char *disambiguation) const
{
- return sourceText;
-#if 0
return gettext(sourceText);
-#endif
}
#endif