aboutsummaryrefslogtreecommitdiffstats
path: root/src/org
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2009-12-08 15:08:42 +0000
committerKenny Root <kenny@the-b.org>2009-12-08 15:08:42 +0000
commit0b2552bab623b12cf6bdd447dbfd137c375a6851 (patch)
tree075b50094cc25e4d7865b2e8f34cb4b690116dee /src/org
parenta3ca36dcb24e5611e18123dc22bc632852ac217f (diff)
downloadconnectbot-0b2552bab623b12cf6bdd447dbfd137c375a6851.tar.gz
connectbot-0b2552bab623b12cf6bdd447dbfd137c375a6851.tar.bz2
connectbot-0b2552bab623b12cf6bdd447dbfd137c375a6851.zip
Switch ColorsActivity terminology to Schemes
Previously it was based on colors per-host, but colors schemes are better because people can easily apply them to individual hosts. git-svn-id: https://connectbot.googlecode.com/svn/trunk/connectbot@430 df292f66-193f-0410-a5fc-6d59da041ff2
Diffstat (limited to 'src/org')
-rw-r--r--src/org/connectbot/ColorsActivity.java41
-rw-r--r--src/org/connectbot/service/TerminalBridge.java5
-rw-r--r--src/org/connectbot/util/HostDatabase.java73
3 files changed, 57 insertions, 62 deletions
diff --git a/src/org/connectbot/ColorsActivity.java b/src/org/connectbot/ColorsActivity.java
index bb6f5cc..37e2c35 100644
--- a/src/org/connectbot/ColorsActivity.java
+++ b/src/org/connectbot/ColorsActivity.java
@@ -21,7 +21,7 @@ package org.connectbot;
import java.util.Arrays;
import java.util.List;
-import org.connectbot.bean.HostBean;
+import org.connectbot.util.Colors;
import org.connectbot.util.HostDatabase;
import org.connectbot.util.UberColorPickerDialog;
import org.connectbot.util.UberColorPickerDialog.OnColorChangedListener;
@@ -31,8 +31,11 @@ import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Bundle;
+import android.view.Menu;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import android.view.MenuItem.OnMenuItemClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
@@ -49,7 +52,7 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
private Spinner mFgSpinner;
private Spinner mBgSpinner;
- private HostBean mHost;
+ private int mColorScheme;
private List<Integer> mColorList;
private HostDatabase hostdb;
@@ -57,7 +60,6 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
private int mCurrentColor = 0;
private int[] mDefaultColors;
-
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -68,16 +70,17 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
getResources().getText(R.string.app_name),
getResources().getText(R.string.title_colors)));
- mHost = null;
+ mColorScheme = HostDatabase.DEFAULT_COLOR_SCHEME;
hostdb = new HostDatabase(this);
- mColorList = Arrays.asList(hostdb.getColorsForHost(mHost));
- mDefaultColors = hostdb.getDefaultColorsForHost(mHost);
+ mColorList = Arrays.asList(hostdb.getColorsForScheme(mColorScheme));
+ mDefaultColors = hostdb.getDefaultColorsForScheme(mColorScheme);
mColorGrid = (GridView) findViewById(R.id.color_grid);
mColorGrid.setAdapter(new ColorsAdapter(true));
mColorGrid.setOnItemClickListener(this);
+ mColorGrid.setSelection(0);
mFgSpinner = (Spinner) findViewById(R.id.fg);
mFgSpinner.setAdapter(new ColorsAdapter(false));
@@ -292,6 +295,30 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC
}
if (needUpdate)
- hostdb.setDefaultColorsForHost(mHost, mDefaultColors[0], mDefaultColors[1]);
+ hostdb.setDefaultColorsForScheme(mColorScheme, mDefaultColors[0], mDefaultColors[1]);
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ super.onCreateOptionsMenu(menu);
+
+ MenuItem reset = menu.add(R.string.menu_colors_reset);
+ reset.setAlphabeticShortcut('r');
+ reset.setNumericShortcut('1');
+ reset.setIcon(android.R.drawable.ic_menu_revert);
+ reset.setOnMenuItemClickListener(new OnMenuItemClickListener() {
+ public boolean onMenuItemClick(MenuItem arg0) {
+ for (int i = 0; i < Colors.defaults.length; i++) {
+ if (mColorList.get(i) != Colors.defaults[i]) {
+ hostdb.setGlobalColor(i, Colors.defaults[i]);
+ mColorList.set(i, Colors.defaults[i]);
+ }
+ }
+ mColorGrid.invalidateViews();
+ return true;
+ }
+ });
+
+ return true;
}
}
diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java
index ffc8f7b..174f989 100644
--- a/src/org/connectbot/service/TerminalBridge.java
+++ b/src/org/connectbot/service/TerminalBridge.java
@@ -997,7 +997,6 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener {
try {
// request a terminal pty resize
synchronized (buffer) {
- int prevRow = buffer.getCursorRow();
buffer.setScreenSize(columns, rows, true);
}
@@ -1311,11 +1310,11 @@ public class TerminalBridge implements VDUDisplay, OnKeyListener {
}
public final void resetColors() {
- int[] defaults = manager.hostdb.getDefaultColorsForHost(host);
+ int[] defaults = manager.hostdb.getDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME);
defaultFg = defaults[0];
defaultBg = defaults[1];
- color = manager.hostdb.getColorsForHost(host);
+ color = manager.hostdb.getColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME);
}
// This was taken from http://geekswithblogs.net/casualjim/archive/2005/12/01/61722.aspx
diff --git a/src/org/connectbot/util/HostDatabase.java b/src/org/connectbot/util/HostDatabase.java
index 2428a55..080eb60 100644
--- a/src/org/connectbot/util/HostDatabase.java
+++ b/src/org/connectbot/util/HostDatabase.java
@@ -112,6 +112,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
public final static long PUBKEYID_NEVER = -2;
public final static long PUBKEYID_ANY = -1;
+ public static final int DEFAULT_COLOR_SCHEME = 0;
+
static {
addTableName(TABLE_HOSTS);
addTableName(TABLE_PORTFORWARDS);
@@ -634,7 +636,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
}
}
- public Integer[] getColorsForHost(HostBean host) {
+ public Integer[] getColorsForScheme(int scheme) {
Integer[] colors = Colors.defaults.clone();
synchronized (dbLock) {
@@ -642,54 +644,29 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
Cursor c = db.query(TABLE_COLORS, new String[] {
FIELD_COLOR_NUMBER, FIELD_COLOR_VALUE },
- FIELD_COLOR_SCHEME + " IS NULL",
- null, null, null, null);
+ FIELD_COLOR_SCHEME + " = ?",
+ new String[] { String.valueOf(scheme) },
+ null, null, null);
while (c.moveToNext()) {
- Log.d(TAG, "Setting default color " + c.getInt(0) + " to " + c.getInt(1));
colors[c.getInt(0)] = new Integer(c.getInt(1));
}
c.close();
-
- // TODO This could probably just be a join
- if (host != null) {
- c = db.query(TABLE_COLORS, new String[] {
- FIELD_COLOR_NUMBER, FIELD_COLOR_VALUE },
- FIELD_COLOR_SCHEME + " = ?",
- new String[] { String.valueOf(host.getId()) },
- null, null, null);
-
- while (c.moveToNext()) {
- colors[c.getInt(0)] = new Integer(c.getInt(1));
- }
-
- c.close();
- }
-
db.close();
}
return colors;
}
- public void setColorForHost(HostBean host, int number, int value) {
+ public void setColorForScheme(int scheme, int number, int value) {
SQLiteDatabase db;
- String hostWhere;
- if (host == null)
- hostWhere = FIELD_COLOR_SCHEME + " IS NULL";
- else
- hostWhere = FIELD_COLOR_SCHEME + " = ?";
+ String schemeWhere;
+ schemeWhere = FIELD_COLOR_SCHEME + " = ?";
if (value == Colors.defaults[number]) {
- String[] whereArgs;
-
- if (host != null) {
- whereArgs = new String[2];
- whereArgs[1] = String.valueOf(host.getId());
- } else
- whereArgs = new String[1];
+ String[] whereArgs = new String[1];
whereArgs[0] = String.valueOf(number);
@@ -698,7 +675,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
db.delete(TABLE_COLORS,
FIELD_COLOR_NUMBER + " = ? AND "
- + hostWhere,
+ + schemeWhere,
new String[] { String.valueOf(number) });
db.close();
@@ -710,13 +687,12 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
String[] whereArgs = null;
- if (host != null)
- whereArgs = new String[] { String.valueOf(host.getId()) };
+ whereArgs = new String[] { String.valueOf(scheme) };
synchronized (dbLock) {
db = getWritableDatabase();
int rowsAffected = db.update(TABLE_COLORS, values,
- hostWhere, whereArgs);
+ schemeWhere, whereArgs);
if (rowsAffected == 0) {
db.insert(TABLE_COLORS, null, values);
@@ -728,10 +704,10 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
}
public void setGlobalColor(int number, int value) {
- setColorForHost(null, number, value);
+ setColorForScheme(DEFAULT_COLOR_SCHEME, number, value);
}
- public int[] getDefaultColorsForHost(HostBean host) {
+ public int[] getDefaultColorsForScheme(int scheme) {
int[] colors = new int[] { DEFAULT_FG_COLOR, DEFAULT_BG_COLOR };
synchronized (dbLock) {
@@ -750,11 +726,11 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
c.close();
// TODO This could probably just be a join
- if (host != null) {
+ if (scheme != DEFAULT_COLOR_SCHEME) {
c = db.query(TABLE_COLOR_DEFAULTS,
new String[] { FIELD_COLOR_FG, FIELD_COLOR_BG },
FIELD_COLOR_SCHEME + " = ?",
- new String[] { String.valueOf(host.getId()) },
+ new String[] { String.valueOf(scheme) },
null, null, null);
if (c.moveToFirst()) {
@@ -772,10 +748,10 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
}
public int[] getGlobalDefaultColors() {
- return getDefaultColorsForHost(null);
+ return getDefaultColorsForScheme(DEFAULT_COLOR_SCHEME);
}
- public void setDefaultColorsForHost(HostBean host, int fg, int bg) {
+ public void setDefaultColorsForScheme(int scheme, int fg, int bg) {
int[] defaultColors = getGlobalDefaultColors();
SQLiteDatabase db;
@@ -783,15 +759,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper {
String schemeWhere = null;
String[] whereArgs;
- // TODO change host.getId() into scheme numbers for colors
-
- if (host == null) {
- schemeWhere = FIELD_COLOR_SCHEME + " IS NULL";
- whereArgs = null;
- } else {
- schemeWhere = FIELD_COLOR_SCHEME + " = ?";
- whereArgs = new String[] { String.valueOf(host.getId()) };
- }
+ schemeWhere = FIELD_COLOR_SCHEME + " = ?";
+ whereArgs = new String[] { String.valueOf(scheme) };
if (fg == defaultColors[0] && bg == defaultColors[1]) {
synchronized (dbLock) {