Happy Halloween!
@@ -17,6 +17,8 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
@@ -60,9 +62,9 @@ dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile project(':libraries:RootCommands')
|
||||
compile project(':libraries:FloatingActionButton')
|
||||
compile('de.greenrobot:eventbus:2.2.1') {
|
||||
exclude module: 'support-v4'
|
||||
}
|
||||
//compile('de.greenrobot:eventbus:2.2.1') {
|
||||
// exclude module: 'support-v4'
|
||||
// }
|
||||
// compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'
|
||||
compile 'org.apache.commons:commons-lang3:3.1'
|
||||
compile files('libs/juniversalchardet-1.0.3.jar')
|
||||
|
@@ -16,7 +16,7 @@
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="sharedcode.turboeditor" >
|
||||
|
||||
|
@@ -1,77 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Vlad Mihalachi
|
||||
*
|
||||
* This file is part of Turbo Editor.
|
||||
*
|
||||
* Turbo Editor is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Turbo Editor is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.activity;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.FragmentManager;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.util.ThemeUtils;
|
||||
|
||||
public class LicensesActivity extends Activity implements AdapterView.OnItemClickListener {
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
ThemeUtils.setTheme(this);
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
setContentView(R.layout.activity_licenses);
|
||||
ListView listView = (ListView) findViewById(android.R.id.list);
|
||||
listView.setOnItemClickListener(this);
|
||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.open_source_libs));
|
||||
listView.setAdapter(adapter);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
String openSourceLib = ((TextView) view.findViewById(android.R.id.text1)).getText().toString();
|
||||
Intent browserIntent = null;
|
||||
switch (openSourceLib) {
|
||||
case "ChangeLog Library":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/gabrielemariotti/changeloglib?source=c#license"));
|
||||
break;
|
||||
case "EventBus":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/greenrobot/EventBus?source=c#license"));
|
||||
break;
|
||||
case "commons-io":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://commons.apache.org/proper/commons-io/"));
|
||||
break;
|
||||
case "RootCommands":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/dschuermann/superuser-commands"));
|
||||
break;
|
||||
case "Floating Action Button":
|
||||
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/makovkastar/FloatingActionButton"));
|
||||
break;
|
||||
}
|
||||
if (browserIntent != null) {
|
||||
startActivity(browserIntent);
|
||||
}
|
||||
}
|
||||
}
|
@@ -55,7 +55,7 @@ import java.util.concurrent.TimeoutException;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.adapter.AdapterDetailedList;
|
||||
import sharedcode.turboeditor.fragment.EditTextDialog;
|
||||
import sharedcode.turboeditor.dialogfragment.EditTextDialog;
|
||||
import sharedcode.turboeditor.preferences.PreferenceHelper;
|
||||
import sharedcode.turboeditor.root.RootUtils;
|
||||
import sharedcode.turboeditor.util.AlphanumComparator;
|
||||
@@ -105,15 +105,12 @@ public class SelectFileActivity extends ActionBarActivity implements SearchView.
|
||||
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
final EditTextDialog dialogFrag;
|
||||
int i = item.getItemId();
|
||||
if (i == R.id.im_new_file) {
|
||||
dialogFrag = EditTextDialog.newInstance(EditTextDialog.Actions.NewFile);
|
||||
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
|
||||
EditTextDialog.newInstance(EditTextDialog.Actions.NewFile).show(getFragmentManager().beginTransaction(), "dialog");
|
||||
return true;
|
||||
} else if (i == R.id.im_new_folder) {
|
||||
dialogFrag = EditTextDialog.newInstance(EditTextDialog.Actions.NewFolder);
|
||||
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
|
||||
EditTextDialog.newInstance(EditTextDialog.Actions.NewFolder).show(getFragmentManager().beginTransaction(), "dialog");
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@@ -368,7 +365,8 @@ public class SelectFileActivity extends ActionBarActivity implements SearchView.
|
||||
AdapterDetailedList mAdapter = new AdapterDetailedList(getBaseContext(), names, isRoot);
|
||||
listView.setAdapter(mAdapter);
|
||||
filter = mAdapter.getFilter();
|
||||
} else if (exceptionMessage != null) {
|
||||
}
|
||||
if (exceptionMessage != null) {
|
||||
Toast.makeText(SelectFileActivity.this, exceptionMessage, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
invalidateOptionsMenu();
|
||||
|
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.activity;
|
||||
package sharedcode.turboeditor.application;
|
||||
|
||||
import android.app.Application;
|
||||
import android.view.ViewConfiguration;
|
@@ -16,7 +16,8 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package sharedcode.turboeditor.fragment;
|
||||
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@@ -28,7 +29,6 @@ import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.view.View;
|
||||
import android.widget.Toast;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
@@ -16,7 +16,8 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package sharedcode.turboeditor.fragment;
|
||||
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@@ -31,6 +31,7 @@ import android.widget.EditText;
|
||||
import java.io.File;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.preferences.PreferenceHelper;
|
||||
import sharedcode.turboeditor.task.SaveFileTask;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
@@ -75,7 +76,7 @@ public class NewFileDetailsDialog extends DialogFragment {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (!mName.getText().toString().isEmpty() && !mFolder.getText().toString().isEmpty()) {
|
||||
File file = new File(mFolder.getText().toString(), mName.getText().toString());
|
||||
new SaveFileTask(getActivity(), file.getPath(), getArguments().getString("fileText"), getArguments().getString("fileEncoding")).execute();
|
||||
new SaveFileTask((MainActivity) getActivity(), file.getPath(), getArguments().getString("fileText"), getArguments().getString("fileEncoding")).execute();
|
||||
PreferenceHelper.setWorkingFolder(getActivity(), file.getParent());
|
||||
}
|
||||
}
|
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@@ -31,16 +31,16 @@ import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
|
||||
// ...
|
||||
public class SeekbarDialog extends DialogFragment {
|
||||
public class NumberPickerDialog extends DialogFragment {
|
||||
|
||||
private NumberPicker mSeekBar;
|
||||
|
||||
public static SeekbarDialog newInstance(final Actions action) {
|
||||
return SeekbarDialog.newInstance(action, 0, 50, 100);
|
||||
public static NumberPickerDialog newInstance(final Actions action) {
|
||||
return NumberPickerDialog.newInstance(action, 0, 50, 100);
|
||||
}
|
||||
|
||||
public static SeekbarDialog newInstance(final Actions action, final int min, final int current, final int max) {
|
||||
final SeekbarDialog f = new SeekbarDialog();
|
||||
public static NumberPickerDialog newInstance(final Actions action, final int min, final int current, final int max) {
|
||||
final NumberPickerDialog f = new NumberPickerDialog();
|
||||
final Bundle args = new Bundle();
|
||||
args.putSerializable("action", action);
|
||||
args.putInt("min", min);
|
||||
@@ -102,11 +102,11 @@ public class SeekbarDialog extends DialogFragment {
|
||||
}
|
||||
|
||||
void returnData() {
|
||||
ISeekbarDialog target = (ISeekbarDialog) getTargetFragment();
|
||||
INumberPickerDialog target = (INumberPickerDialog) getTargetFragment();
|
||||
if (target == null) {
|
||||
target = (ISeekbarDialog) getActivity();
|
||||
target = (INumberPickerDialog) getActivity();
|
||||
}
|
||||
target.onSeekbarDialogDismissed(
|
||||
target.onNumberPickerDialogDismissed(
|
||||
(Actions) getArguments().getSerializable("action"),
|
||||
mSeekBar.getValue()
|
||||
);
|
||||
@@ -117,7 +117,7 @@ public class SeekbarDialog extends DialogFragment {
|
||||
FontSize, SelectPage, GoToLine
|
||||
}
|
||||
|
||||
public interface ISeekbarDialog {
|
||||
void onSeekbarDialogDismissed(Actions action, int value);
|
||||
public interface INumberPickerDialog {
|
||||
void onNumberPickerDialogDismissed(Actions action, int value);
|
||||
}
|
||||
}
|
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.fragment;
|
||||
package sharedcode.turboeditor.dialogfragment;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
@@ -31,6 +31,7 @@ import org.apache.commons.io.FilenameUtils;
|
||||
import java.io.File;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.task.SaveFileTask;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
|
||||
@@ -75,7 +76,7 @@ public class SaveFileDialog extends DialogFragment {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
if (!fileName.isEmpty())
|
||||
new SaveFileTask(getActivity(), filePath, text,
|
||||
new SaveFileTask((MainActivity) getActivity(), filePath, text,
|
||||
encoding).execute();
|
||||
else {
|
||||
NewFileDetailsDialog dialogFrag =
|
@@ -155,7 +155,7 @@ public final class PreferenceHelper {
|
||||
}
|
||||
|
||||
public static void setHasDonated(Context context, boolean value) {
|
||||
getEditor(context).putBoolean("has_donated", value);
|
||||
getEditor(context).putBoolean("has_donated", value).commit();
|
||||
}
|
||||
|
||||
public static void setLightTheme(Context context, boolean value) {
|
||||
|
@@ -28,10 +28,10 @@ import android.view.ViewGroup;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.TextView;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.fragment.EncodingDialog;
|
||||
import sharedcode.turboeditor.fragment.SeekbarDialog;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.dialogfragment.EncodingDialog;
|
||||
import sharedcode.turboeditor.dialogfragment.NumberPickerDialog;
|
||||
import sharedcode.turboeditor.util.ProCheckUtils;
|
||||
import sharedcode.turboeditor.util.ViewUtils;
|
||||
import sharedcode.turboeditor.views.DialogHelper;
|
||||
@@ -47,7 +47,7 @@ import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChan
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.THEME_CHANGE;
|
||||
import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.WRAP_CONTENT;
|
||||
|
||||
public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbarDialog, EncodingDialog.DialogListener {
|
||||
public class SettingsFragment extends Fragment implements NumberPickerDialog.INumberPickerDialog, EncodingDialog.DialogListener {
|
||||
|
||||
// Editor Variables
|
||||
private boolean sLineNumbers;
|
||||
@@ -127,7 +127,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setLineNumbers(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(LINE_NUMERS));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(LINE_NUMERS));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -136,7 +136,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
sColorSyntax = isChecked;
|
||||
PreferenceHelper.setSyntaxHighlight(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(SYNTAX));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(SYNTAX));
|
||||
|
||||
}
|
||||
});
|
||||
@@ -145,7 +145,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setWrapContent(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(WRAP_CONTENT));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(WRAP_CONTENT));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -154,7 +154,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
sUseMonospace = isChecked;
|
||||
PreferenceHelper.setUseMonospace(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(MONOSPACE));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(MONOSPACE));
|
||||
|
||||
}
|
||||
});
|
||||
@@ -163,7 +163,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setReadOnly(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(READ_ONLY));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(READ_ONLY));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -174,7 +174,8 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
int fontCurrent = //(int) (mEditor.getTextSize() / scaledDensity);
|
||||
//fontMax / 2;
|
||||
PreferenceHelper.getFontSize(getActivity());
|
||||
SeekbarDialog dialogFrag = SeekbarDialog.newInstance(SeekbarDialog.Actions
|
||||
NumberPickerDialog dialogFrag = NumberPickerDialog.newInstance(NumberPickerDialog
|
||||
.Actions
|
||||
.FontSize, 1, fontCurrent, fontMax);
|
||||
dialogFrag.setTargetFragment(SettingsFragment.this, 0);
|
||||
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
|
||||
@@ -210,7 +211,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setLightTheme(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(THEME_CHANGE));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(THEME_CHANGE));
|
||||
}
|
||||
});
|
||||
|
||||
@@ -218,7 +219,35 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setSuggestionsActive(getActivity(), isChecked);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(TEXT_SUGGESTIONS));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(TEXT_SUGGESTIONS));
|
||||
}
|
||||
});
|
||||
|
||||
swAutoSave.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setAutoSave(getActivity(), isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
swIgnoreBackButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setIgnoreBackButton(getActivity(), isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
swSplitText.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setSplitText(getActivity(), isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
swErrorReports.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
PreferenceHelper.setSendErrorReport(getActivity(), isChecked);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -226,15 +255,15 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSeekbarDialogDismissed(SeekbarDialog.Actions action, int value) {
|
||||
public void onNumberPickerDialogDismissed(NumberPickerDialog.Actions action, int value) {
|
||||
PreferenceHelper.setFontSize(getActivity(), value);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(FONT_SIZE));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(FONT_SIZE));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEncodingSelected(String result) {
|
||||
PreferenceHelper.setEncoding(getActivity(), result);
|
||||
EventBus.getDefault().post(new APreferenceValueWasChanged(ENCODING));
|
||||
((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(ENCODING));
|
||||
}
|
||||
}
|
||||
|
@@ -19,7 +19,6 @@
|
||||
|
||||
package sharedcode.turboeditor.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
import android.widget.Toast;
|
||||
|
||||
@@ -30,14 +29,14 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import de.greenrobot.event.EventBus;
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.activity.MainActivity;
|
||||
import sharedcode.turboeditor.root.RootUtils;
|
||||
import sharedcode.turboeditor.util.EventBusEvents;
|
||||
|
||||
public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
|
||||
private final Context context;
|
||||
private final MainActivity activity;
|
||||
private final String filePath;
|
||||
private final String text;
|
||||
private final String encoding;
|
||||
@@ -45,8 +44,8 @@ public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
private String message;
|
||||
private String positiveMessage;
|
||||
|
||||
public SaveFileTask(Context context, String filePath, String text, String encoding) {
|
||||
this.context = context;
|
||||
public SaveFileTask(MainActivity activity, String filePath, String text, String encoding) {
|
||||
this.activity = activity;
|
||||
this.filePath = filePath;
|
||||
this.text = text;
|
||||
this.encoding = encoding;
|
||||
@@ -56,7 +55,7 @@ public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
protected void onPreExecute() {
|
||||
super.onPreExecute();
|
||||
file = new File(filePath);
|
||||
positiveMessage = String.format(context.getString(R.string.file_saved_with_success), file.getName());
|
||||
positiveMessage = String.format(activity.getString(R.string.file_saved_with_success), file.getName());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -85,7 +84,7 @@ public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
}
|
||||
}
|
||||
|
||||
RootUtils.writeFile(context, file.getAbsolutePath(), text, encoding, isRoot);
|
||||
RootUtils.writeFile(activity, file.getAbsolutePath(), text, encoding, isRoot);
|
||||
|
||||
message = positiveMessage;
|
||||
} catch (Exception e) {
|
||||
@@ -100,8 +99,8 @@ public class SaveFileTask extends AsyncTask<Void, Void, Void> {
|
||||
@Override
|
||||
protected void onPostExecute(final Void aVoid) {
|
||||
super.onPostExecute(aVoid);
|
||||
Toast.makeText(context, message, Toast.LENGTH_LONG).show();
|
||||
Toast.makeText(activity, message, Toast.LENGTH_LONG).show();
|
||||
if (message.equals(positiveMessage))
|
||||
EventBus.getDefault().post(new EventBusEvents.SavedAFile(filePath));
|
||||
activity.onEvent(new EventBusEvents.SavedAFile(filePath));
|
||||
}
|
||||
}
|
@@ -34,17 +34,17 @@ public class LineUtils {
|
||||
return realLines;
|
||||
}
|
||||
|
||||
public int getYAtLine(ScrollView scrollView, int lineCount, int line) {
|
||||
public static int getYAtLine(ScrollView scrollView, int lineCount, int line) {
|
||||
return scrollView.getChildAt(0).getHeight() / lineCount * line;
|
||||
}
|
||||
|
||||
public int getFirstVisibleLine(ScrollView scrollView, int childHeight, int lineCount) throws ArithmeticException {
|
||||
public static int getFirstVisibleLine(ScrollView scrollView, int childHeight, int lineCount) throws ArithmeticException {
|
||||
int line = (scrollView.getScrollY() * lineCount) / childHeight;
|
||||
if (line < 0) line = 0;
|
||||
return line;
|
||||
}
|
||||
|
||||
public int getLastVisibleLine(ScrollView scrollView, int childHeight, int lineCount, int deviceHeight) {
|
||||
public static int getLastVisibleLine(ScrollView scrollView, int childHeight, int lineCount, int deviceHeight) {
|
||||
int line = ((scrollView.getScrollY() + deviceHeight) * lineCount) / childHeight;
|
||||
if (line > lineCount) line = lineCount;
|
||||
return line;
|
||||
@@ -61,7 +61,8 @@ public class LineUtils {
|
||||
// for every line on the edittext
|
||||
for (i = 0; i < lineCount; i++) {
|
||||
// check if this line contains "\n"
|
||||
hasNewLineArray[i] = text.substring(layout.getLineStart(i), layout.getLineEnd(i)).endsWith("\n");
|
||||
//hasNewLineArray[i] = text.substring(layout.getLineStart(i), layout.getLineEnd(i)).endsWith("\n");
|
||||
hasNewLineArray[i] = text.charAt(layout.getLineEnd(i) - 1) == '\n';
|
||||
// if true
|
||||
if (hasNewLineArray[i]) {
|
||||
int j = i - 1;
|
||||
@@ -91,7 +92,7 @@ public class LineUtils {
|
||||
* @param layout
|
||||
* @return
|
||||
*/
|
||||
public int getLineFromIndex(int index, int lineCount, Layout layout) {
|
||||
public static int getLineFromIndex(int index, int lineCount, Layout layout) {
|
||||
int line;
|
||||
int currentIndex = 0;
|
||||
|
||||
|
@@ -20,7 +20,11 @@
|
||||
package sharedcode.turboeditor.texteditor;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,23 +37,32 @@ public class PageSystem {
|
||||
private int currentPage = 0;
|
||||
private PageSystemInterface pageSystemInterface;
|
||||
|
||||
public PageSystem(Context context, PageSystemInterface pageSystemInterface, String text) {
|
||||
public PageSystem(Context context, PageSystemInterface pageSystemInterface, String text, @Nullable File file) {
|
||||
|
||||
final int charForPage = 15000;
|
||||
final int MAX_KBs_WITHOUT_PAGE_SYSTEM = 50;
|
||||
|
||||
this.pageSystemInterface = pageSystemInterface;
|
||||
pages = new LinkedList<>();
|
||||
|
||||
final boolean doWithoutPageSystem;
|
||||
if(file != null)
|
||||
doWithoutPageSystem = FileUtils.sizeOf(file) < MAX_KBs_WITHOUT_PAGE_SYSTEM * FileUtils.ONE_KB;
|
||||
else
|
||||
doWithoutPageSystem = false;
|
||||
|
||||
int i = 0;
|
||||
int charForPage = 15000;
|
||||
int maxLenghtInOnePage = 30000;
|
||||
int to;
|
||||
int indexOfReturn;
|
||||
int textLenght = text.length();
|
||||
int nextIndexOfReturn;
|
||||
final int textLength = text.length();
|
||||
boolean pageSystemEnabled = PreferenceHelper.getSplitText(context);
|
||||
if (pageSystemEnabled && textLenght > maxLenghtInOnePage) {
|
||||
while (i < textLenght && pageSystemEnabled) {
|
||||
|
||||
if (pageSystemEnabled && !doWithoutPageSystem) {
|
||||
while (i < textLength) {
|
||||
to = i + charForPage;
|
||||
indexOfReturn = text.indexOf("\n", to);
|
||||
if (indexOfReturn > to) to = indexOfReturn;
|
||||
if (to > text.length()) to = text.length();
|
||||
nextIndexOfReturn = text.indexOf("\n", to);
|
||||
if (nextIndexOfReturn > to) to = nextIndexOfReturn;
|
||||
//if (to > text.length()) to = text.length();
|
||||
pages.add(text.substring(i, to));
|
||||
i = to + 1;
|
||||
}
|
||||
|
@@ -50,11 +50,12 @@ public class Patterns {
|
||||
":[ \t](.+?);");
|
||||
|
||||
public static final Pattern NUMBERS = Pattern.compile(
|
||||
"\\b(\\d*[.]?\\d+)\\b");
|
||||
public static final Pattern CSS_NUMBERS = Pattern.compile(
|
||||
"/^auto$|^[+-]?[0-9]+\\.?([0-9]+)?(px|em|ex|%|in|cm|mm|pt|pc)?$/ig");
|
||||
"(\\b(\\d*[.]?\\d+)\\b)");
|
||||
//public static final Pattern CSS_NUMBERS = Pattern.compile(
|
||||
// "/^auto$|^[+-]?[0-9]+\\.?([0-9]+)?(px|em|ex|%|in|cm|mm|pt|pc)?$/ig");
|
||||
public static final Pattern SYMBOLS = Pattern.compile(
|
||||
"(!|,|\\(|\\)|\\+|\\-|\\*|<|>|=|\\.|\\?|;|\\{|\\}|\\[|\\])");
|
||||
public static final Pattern NUMBERS_OR_SYMBOLS = Pattern.compile(NUMBERS.pattern()+"|"+SYMBOLS.pattern());
|
||||
public static final Pattern GENERAL_KEYWORDS = Pattern.compile(
|
||||
"\\b(alignas|alignof|and|and_eq|asm|auto|bitand|bitorbool|break|case|catch|char|"
|
||||
+ "char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype"
|
||||
@@ -78,7 +79,8 @@ public class Patterns {
|
||||
// Comments
|
||||
public static final Pattern XML_COMMENTS = Pattern.compile("(?s)<!--.*?-->");
|
||||
public static final Pattern GENERAL_COMMENTS = Pattern.compile(
|
||||
"/\\*(?:.|[\\n\\r])*?\\*/|//.*|#.*");
|
||||
"/\\*(?:.|[\\n\\r])*?\\*/|(?<!:)//.*|#.*");
|
||||
// same as GENERAL_COMMENTS but without -> //
|
||||
public static final Pattern GENERAL_COMMENTS_NO_SLASH = Pattern.compile(
|
||||
"/\\*(?:.|[\\n\\r])*?\\*/|#.*");
|
||||
public static final Pattern SQL_KEYWORDS = Pattern.compile(
|
||||
|
@@ -16,6 +16,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util;
|
||||
|
||||
import sharedcode.turboeditor.BuildConfig;
|
||||
|
@@ -16,6 +16,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util;
|
||||
|
||||
import android.os.Build;
|
||||
|
@@ -51,4 +51,7 @@ public class MimeTypes {
|
||||
public static final String[] MIME_SQL = {
|
||||
"sql", "mdf", "ndf", "ldf"
|
||||
};
|
||||
public static final String[] MIME_MARKDOWN = {
|
||||
"md", "mdown", "markdown",
|
||||
};
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util;
|
||||
|
||||
import android.content.Context;
|
||||
|
@@ -16,6 +16,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util;
|
||||
|
||||
import android.graphics.Matrix;
|
||||
|
@@ -0,0 +1,290 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Vlad Mihalachi
|
||||
*
|
||||
* This file is part of Turbo Editor.
|
||||
*
|
||||
* Turbo Editor is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Turbo Editor is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util.systemui;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.view.WindowManager;
|
||||
|
||||
/**
|
||||
* Helper for controlling the visibility of the System UI across the various API levels. To use
|
||||
* this API, instantiate an instance of this class with the required level. The level specifies the
|
||||
* extent to which the System UI's visibility is changed when you call {@link #hide()}
|
||||
* or {@link #toggle()}.
|
||||
*/
|
||||
public final class SystemUiHelper {
|
||||
|
||||
/**
|
||||
* In this level, the helper will toggle low profile mode.
|
||||
*/
|
||||
public static final int LEVEL_LOW_PROFILE = 0;
|
||||
|
||||
/**
|
||||
* In this level, the helper will toggle the visibility of the status bar.
|
||||
* If there is a navigation bar, it will toggle low profile mode.
|
||||
*/
|
||||
public static final int LEVEL_HIDE_STATUS_BAR = 1;
|
||||
|
||||
/**
|
||||
* In this level, the helper will toggle the visibility of the navigation bar
|
||||
* (if present and if possible) and status bar. In cases where the navigation
|
||||
* bar is present but cannot be hidden, it will toggle low profile mode.
|
||||
*/
|
||||
public static final int LEVEL_LEAN_BACK = 2;
|
||||
|
||||
/**
|
||||
* In this level, the helper will toggle the visibility of the navigation bar
|
||||
* (if present and if possible) and status bar, in an immersive mode. This means that the app
|
||||
* will continue to receive all touch events. The user can reveal the system bars with an
|
||||
* inward swipe along the region where the system bars normally appear.
|
||||
*
|
||||
* <p>The {@link #FLAG_IMMERSIVE_STICKY} flag can be used to control how the system bars are
|
||||
* displayed.
|
||||
*/
|
||||
public static final int LEVEL_IMMERSIVE = 3;
|
||||
|
||||
/**
|
||||
* When this flag is set, the
|
||||
* {@link android.view.WindowManager.LayoutParams#FLAG_LAYOUT_IN_SCREEN}
|
||||
* flag will be set on older devices, making the status bar "float" on top
|
||||
* of the activity layout. This is most useful when there are no controls at
|
||||
* the top of the activity layout.
|
||||
* <p>
|
||||
* This flag isn't used on newer devices because the <a
|
||||
* href="http://developer.android.com/design/patterns/actionbar.html">action
|
||||
* bar</a>, the most important structural element of an Android app, should
|
||||
* be visible and not obscured by the system UI.
|
||||
*/
|
||||
public static final int FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES = 0x1;
|
||||
|
||||
/**
|
||||
* Used with {@link #LEVEL_IMMERSIVE}. When this flag is set, an inward swipe in the system
|
||||
* bars areas will cause the system bars to temporarily appear in a semi-transparent state,
|
||||
* but no flags are cleared, and your system UI visibility change listeners are not triggered.
|
||||
* The bars automatically hide again after a short delay, or if the user interacts with the
|
||||
* middle of the screen.
|
||||
*/
|
||||
public static final int FLAG_IMMERSIVE_STICKY = 0x2;
|
||||
|
||||
private static final String LOG_TAG = SystemUiHelper.class.getSimpleName();
|
||||
|
||||
private final SystemUiHelperImpl mImpl;
|
||||
|
||||
private final Handler mHandler;
|
||||
private final Runnable mHideRunnable;
|
||||
|
||||
/**
|
||||
* Construct a new SystemUiHelper.
|
||||
*
|
||||
* @param activity The Activity who's system UI should be changed
|
||||
* @param level The level of hiding. Should be either {@link #LEVEL_LOW_PROFILE},
|
||||
* {@link #LEVEL_HIDE_STATUS_BAR}, {@link #LEVEL_LEAN_BACK} or
|
||||
* {@link #LEVEL_IMMERSIVE}
|
||||
* @param flags Additional options. See {@link #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES} and
|
||||
* {@link #FLAG_IMMERSIVE_STICKY}
|
||||
*/
|
||||
public SystemUiHelper(Activity activity, int level, int flags) {
|
||||
this(activity, level, flags, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a new SystemUiHelper.
|
||||
*
|
||||
* @param activity The Activity who's system UI should be changed
|
||||
* @param level The level of hiding. Should be either {@link #LEVEL_LOW_PROFILE},
|
||||
* {@link #LEVEL_HIDE_STATUS_BAR}, {@link #LEVEL_LEAN_BACK} or
|
||||
* {@link #LEVEL_IMMERSIVE}
|
||||
* @param flags Additional options. See {@link #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES} and
|
||||
* {@link #FLAG_IMMERSIVE_STICKY}
|
||||
* @param listener A listener which is called when the system visibility is changed
|
||||
*/
|
||||
public SystemUiHelper(Activity activity, int level, int flags,
|
||||
OnVisibilityChangeListener listener) {
|
||||
|
||||
mHandler = new Handler(Looper.getMainLooper());
|
||||
mHideRunnable = new HideRunnable();
|
||||
|
||||
// Create impl
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
mImpl = new SystemUiHelperImplKK(activity, level, flags, listener);
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
|
||||
mImpl = new SystemUiHelperImplJB(activity, level, flags, listener);
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
|
||||
mImpl = new SystemUiHelperImplICS(activity, level, flags, listener);
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
mImpl = new SystemUiHelperImplHC(activity, level, flags, listener);
|
||||
} else {
|
||||
mImpl = new SystemUiHelperImplBase(activity, level, flags, listener);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true if the system UI is currently showing. What this means depends on the mode this
|
||||
* {@link android.example.android.systemuivis.SystemUiHelper} was instantiated with.
|
||||
*/
|
||||
public boolean isShowing() {
|
||||
return mImpl.isShowing();
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the system UI. What this means depends on the mode this {@link android.example.android.systemuivis.SystemUiHelper} was
|
||||
* instantiated with.
|
||||
*
|
||||
* <p>Any currently queued delayed hide requests will be removed.
|
||||
*/
|
||||
public void show() {
|
||||
// Ensure that any currently queued hide calls are removed
|
||||
removeQueuedRunnables();
|
||||
|
||||
mImpl.show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the system UI. What this means depends on the mode this {@link android.example.android.systemuivis.SystemUiHelper} was
|
||||
* instantiated with.
|
||||
*
|
||||
* <p>Any currently queued delayed hide requests will be removed.
|
||||
*/
|
||||
public void hide() {
|
||||
// Ensure that any currently queued hide calls are removed
|
||||
removeQueuedRunnables();
|
||||
|
||||
mImpl.hide();
|
||||
}
|
||||
|
||||
/**
|
||||
* Request that the system UI is hidden after a delay.
|
||||
*
|
||||
* <p>Any currently queued delayed hide requests will be removed.
|
||||
*
|
||||
* @param delayMillis The delay (in milliseconds) until the Runnable
|
||||
* will be executed.
|
||||
*/
|
||||
public void delayHide(long delayMillis) {
|
||||
// Ensure that any currently queued hide calls are removed
|
||||
removeQueuedRunnables();
|
||||
|
||||
mHandler.postDelayed(mHideRunnable, delayMillis);
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggle whether the system UI is displayed.
|
||||
*/
|
||||
public void toggle() {
|
||||
if (mImpl.isShowing()) {
|
||||
mImpl.hide();
|
||||
} else {
|
||||
mImpl.show();
|
||||
}
|
||||
}
|
||||
|
||||
private void removeQueuedRunnables() {
|
||||
// Ensure that any currently queued hide calls are removed
|
||||
mHandler.removeCallbacks(mHideRunnable);
|
||||
}
|
||||
|
||||
/**
|
||||
* A callback interface used to listen for system UI visibility changes.
|
||||
*/
|
||||
public interface OnVisibilityChangeListener {
|
||||
/**
|
||||
* Called when the system UI visibility has changed.
|
||||
*
|
||||
* @param visible True if the system UI is visible.
|
||||
*/
|
||||
public void onVisibilityChange(boolean visible);
|
||||
}
|
||||
|
||||
static abstract class SystemUiHelperImpl {
|
||||
|
||||
final Activity mActivity;
|
||||
final int mLevel;
|
||||
final int mFlags;
|
||||
final OnVisibilityChangeListener mOnVisibilityChangeListener;
|
||||
|
||||
boolean mIsShowing = true;
|
||||
|
||||
SystemUiHelperImpl(Activity activity, int level, int flags,
|
||||
OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
mActivity = activity;
|
||||
mLevel = level;
|
||||
mFlags = flags;
|
||||
mOnVisibilityChangeListener = onVisibilityChangeListener;
|
||||
}
|
||||
|
||||
abstract void show();
|
||||
abstract void hide();
|
||||
|
||||
boolean isShowing() {
|
||||
return mIsShowing;
|
||||
}
|
||||
|
||||
void setIsShowing(boolean isShowing) {
|
||||
mIsShowing = isShowing;
|
||||
|
||||
if (mOnVisibilityChangeListener != null) {
|
||||
mOnVisibilityChangeListener.onVisibilityChange(mIsShowing);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Base implementation. Used on API level 10 and below.
|
||||
*/
|
||||
static class SystemUiHelperImplBase extends SystemUiHelperImpl {
|
||||
|
||||
SystemUiHelperImplBase(Activity activity, int level, int flags,
|
||||
OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
|
||||
if ((mFlags & SystemUiHelper.FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES) != 0) {
|
||||
mActivity.getWindow().addFlags(
|
||||
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
|
||||
| WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
void show() {
|
||||
if (mLevel > SystemUiHelper.LEVEL_LOW_PROFILE) {
|
||||
mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
setIsShowing(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
void hide() {
|
||||
if (mLevel > SystemUiHelper.LEVEL_LOW_PROFILE) {
|
||||
mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
setIsShowing(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class HideRunnable implements Runnable {
|
||||
@Override
|
||||
public void run() {
|
||||
hide();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Vlad Mihalachi
|
||||
*
|
||||
* This file is part of Turbo Editor.
|
||||
*
|
||||
* Turbo Editor is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Turbo Editor is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util.systemui;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.view.View;
|
||||
import android.view.WindowManager;
|
||||
|
||||
class SystemUiHelperImplHC extends SystemUiHelper.SystemUiHelperImpl
|
||||
implements View.OnSystemUiVisibilityChangeListener {
|
||||
|
||||
final View mDecorView;
|
||||
|
||||
SystemUiHelperImplHC(Activity activity, int level, int flags,
|
||||
SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
|
||||
mDecorView = activity.getWindow().getDecorView();
|
||||
mDecorView.setOnSystemUiVisibilityChangeListener(this);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
void show() {
|
||||
mDecorView.setSystemUiVisibility(createShowFlags());
|
||||
}
|
||||
|
||||
@Override
|
||||
void hide() {
|
||||
mDecorView.setSystemUiVisibility(createHideFlags());
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void onSystemUiVisibilityChange(int visibility) {
|
||||
if ((visibility & createTestFlags()) != 0) {
|
||||
onSystemUiHidden();
|
||||
} else {
|
||||
onSystemUiShown();
|
||||
}
|
||||
}
|
||||
|
||||
protected void onSystemUiShown() {
|
||||
ActionBar ab = ((ActionBarActivity) mActivity).getSupportActionBar();
|
||||
if (ab != null) {
|
||||
ab.show();
|
||||
}
|
||||
|
||||
mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
|
||||
setIsShowing(true);
|
||||
}
|
||||
|
||||
protected void onSystemUiHidden() {
|
||||
ActionBar ab = ((ActionBarActivity) mActivity).getSupportActionBar();
|
||||
if (ab != null) {
|
||||
ab.hide();
|
||||
}
|
||||
|
||||
mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
|
||||
setIsShowing(false);
|
||||
}
|
||||
|
||||
protected int createShowFlags() {
|
||||
return View.STATUS_BAR_VISIBLE;
|
||||
}
|
||||
|
||||
protected int createHideFlags() {
|
||||
return View.STATUS_BAR_HIDDEN;
|
||||
}
|
||||
|
||||
protected int createTestFlags() {
|
||||
return View.STATUS_BAR_HIDDEN;
|
||||
}
|
||||
}
|
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Vlad Mihalachi
|
||||
*
|
||||
* This file is part of Turbo Editor.
|
||||
*
|
||||
* Turbo Editor is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Turbo Editor is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util.systemui;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
|
||||
class SystemUiHelperImplICS extends SystemUiHelperImplHC {
|
||||
|
||||
SystemUiHelperImplICS(Activity activity, int level, int flags,
|
||||
SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createShowFlags() {
|
||||
return View.SYSTEM_UI_FLAG_VISIBLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createTestFlags() {
|
||||
if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) {
|
||||
// Intentionally override test flags.
|
||||
return View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
|
||||
}
|
||||
|
||||
return View.SYSTEM_UI_FLAG_LOW_PROFILE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createHideFlags() {
|
||||
int flag = View.SYSTEM_UI_FLAG_LOW_PROFILE;
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) {
|
||||
flag |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
}
|
@@ -0,0 +1,93 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Vlad Mihalachi
|
||||
*
|
||||
* This file is part of Turbo Editor.
|
||||
*
|
||||
* Turbo Editor is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Turbo Editor is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util.systemui;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.ActionBar;
|
||||
import android.app.Activity;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
|
||||
class SystemUiHelperImplJB extends SystemUiHelperImplICS {
|
||||
|
||||
SystemUiHelperImplJB(Activity activity, int level, int flags,
|
||||
SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createShowFlags() {
|
||||
int flag = super.createShowFlags();
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_HIDE_STATUS_BAR) {
|
||||
flag |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) {
|
||||
flag |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
|
||||
}
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createHideFlags() {
|
||||
int flag = super.createHideFlags();
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_HIDE_STATUS_BAR) {
|
||||
flag |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_FULLSCREEN;
|
||||
|
||||
if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) {
|
||||
flag |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
|
||||
}
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSystemUiShown() {
|
||||
if (mLevel == SystemUiHelper.LEVEL_LOW_PROFILE) {
|
||||
// Manually show the action bar when in low profile mode.
|
||||
ActionBar ab = mActivity.getActionBar();
|
||||
if (ab != null) {
|
||||
ab.show();
|
||||
}
|
||||
}
|
||||
|
||||
setIsShowing(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSystemUiHidden() {
|
||||
if (mLevel == SystemUiHelper.LEVEL_LOW_PROFILE) {
|
||||
// Manually hide the action bar when in low profile mode.
|
||||
ActionBar ab = mActivity.getActionBar();
|
||||
if (ab != null) {
|
||||
ab.hide();
|
||||
}
|
||||
}
|
||||
|
||||
setIsShowing(true);
|
||||
}
|
||||
}
|
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Vlad Mihalachi
|
||||
*
|
||||
* This file is part of Turbo Editor.
|
||||
*
|
||||
* Turbo Editor is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Turbo Editor is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package sharedcode.turboeditor.util.systemui;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.KITKAT)
|
||||
class SystemUiHelperImplKK extends SystemUiHelperImplJB {
|
||||
|
||||
SystemUiHelperImplKK(Activity activity, int level, int flags,
|
||||
SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) {
|
||||
super(activity, level, flags, onVisibilityChangeListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int createHideFlags() {
|
||||
int flag = super.createHideFlags();
|
||||
|
||||
if (mLevel == SystemUiHelper.LEVEL_IMMERSIVE) {
|
||||
// If the client requested immersive mode, and we're on Android 4.4
|
||||
// or later, add relevant flags. Applying HIDE_NAVIGATION without
|
||||
// IMMERSIVE prevents the activity from accepting all touch events,
|
||||
// so we only do this on Android 4.4 and later (where IMMERSIVE is
|
||||
// present).
|
||||
flag |= ((mFlags & SystemUiHelper.FLAG_IMMERSIVE_STICKY) != 0)
|
||||
? View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
|
||||
: View.SYSTEM_UI_FLAG_IMMERSIVE;
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
}
|
@@ -16,11 +16,8 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package sharedcode.turboeditor.views;
|
||||
|
||||
/**
|
||||
* Created by Artem on 28.01.14.
|
||||
*/
|
||||
package sharedcode.turboeditor.views;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
@@ -41,7 +38,7 @@ import org.apache.commons.lang3.builder.EqualsBuilder;
|
||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
||||
|
||||
import sharedcode.turboeditor.R;
|
||||
import sharedcode.turboeditor.fragment.AboutDialog;
|
||||
import sharedcode.turboeditor.dialogfragment.AboutDialog;
|
||||
import sharedcode.turboeditor.iab.DonationFragment;
|
||||
|
||||
/**
|
||||
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 20 KiB |
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -65,7 +66,7 @@
|
||||
android:background="@null">
|
||||
|
||||
<view
|
||||
class="sharedcode.turboeditor.activity.BaseHomeActivity$Editor"
|
||||
class="sharedcode.turboeditor.activity.MainActivity$Editor"
|
||||
android:id="@id/editor"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@@ -1,20 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Copyright (C) 2014 AChep@xda <artemchep@gmail.com>
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
~ This program is free software; you can redistribute it and/or
|
||||
~ modify it under the terms of the GNU General Public License
|
||||
~ as published by the Free Software Foundation; either version 2
|
||||
~ of the License, or (at your option) any later version.
|
||||
~ This file is part of Turbo Editor.
|
||||
~
|
||||
~ This program is distributed in the hope that it will be useful,
|
||||
~ Turbo Editor is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Turbo Editor is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program; if not, write to the Free Software
|
||||
~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
~ MA 02110-1301, USA.
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -19,7 +19,7 @@
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
android:layout_gravity="center"
|
||||
android:orientation="vertical"
|
||||
|
@@ -32,7 +32,8 @@
|
||||
android:id="@id/text_to_find"
|
||||
android:hint="@string/text_to_find"
|
||||
android:padding="5dp"
|
||||
android:textSize="12sp"/>
|
||||
android:textSize="12sp"
|
||||
android:inputType="textNoSuggestions|textFilter|textVisiblePassword"/>
|
||||
|
||||
<CheckBox
|
||||
android:layout_width="match_parent"
|
||||
@@ -71,5 +72,6 @@
|
||||
android:hint="@string/text_to_replace"
|
||||
android:visibility="gone"
|
||||
android:padding="5dp"
|
||||
android:textSize="12sp"/>
|
||||
android:textSize="12sp"
|
||||
android:inputType="textNoSuggestions|textFilter"/>
|
||||
</LinearLayout>
|
||||
|
@@ -1,20 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
~ Copyright (C) 2014 AChep@xda <artemchep@gmail.com>
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
~ This program is free software; you can redistribute it and/or
|
||||
~ modify it under the terms of the GNU General Public License
|
||||
~ as published by the Free Software Foundation; either version 2
|
||||
~ of the License, or (at your option) any later version.
|
||||
~ This file is part of Turbo Editor.
|
||||
~
|
||||
~ This program is distributed in the hope that it will be useful,
|
||||
~ Turbo Editor is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Turbo Editor is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program; if not, write to the Free Software
|
||||
~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
~ MA 02110-1301, USA.
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
@@ -1,22 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (C) 2014 AChep@xda <artemchep@gmail.com>
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
~ This program is free software; you can redistribute it and/or
|
||||
~ modify it under the terms of the GNU General Public License
|
||||
~ as published by the Free Software Foundation; either version 2
|
||||
~ of the License, or (at your option) any later version.
|
||||
~ This file is part of Turbo Editor.
|
||||
~
|
||||
~ This program is distributed in the hope that it will be useful,
|
||||
~ Turbo Editor is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ Turbo Editor is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program; if not, write to the Free Software
|
||||
~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
~ MA 02110-1301, USA.
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -36,7 +36,7 @@
|
||||
android:id="@id/drawer_button_go_pro"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="72dp"
|
||||
android:text="@string/donate"
|
||||
android:text="@string/donation_action"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:paddingLeft="16dp"
|
||||
|
@@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
|
@@ -63,39 +63,9 @@
|
||||
app:showAsAction="never"
|
||||
android:title="@string/info"
|
||||
/>
|
||||
|
||||
<!-- <item
|
||||
android:id="@id/im_goto_line"
|
||||
<item
|
||||
android:id="@id/im_donate"
|
||||
app:showAsAction="never"
|
||||
android:title="@string/goto_line"
|
||||
/>-->
|
||||
<!--<item
|
||||
android:title="@string/preferenze"
|
||||
app:showAsAction="ifRoom|withText">
|
||||
<menu>
|
||||
<item
|
||||
android:id="@id/im_line_numbers"
|
||||
app:showAsAction="ifRoom"
|
||||
android:title="@string/line_numbers"
|
||||
android:checkable="true"/>
|
||||
<item
|
||||
android:id="@id/im_syntax_highlight"
|
||||
app:showAsAction="ifRoom"
|
||||
android:title="@string/menu_syntax_highlight"
|
||||
android:checkable="true"/>
|
||||
<item
|
||||
android:id="@id/im_use_monospace"
|
||||
app:showAsAction="ifRoom"
|
||||
android:title="@string/use_monospace"
|
||||
android:checkable="true"/>
|
||||
<item
|
||||
android:id="@id/im_editor_encoding"
|
||||
app:showAsAction="ifRoom"
|
||||
android:title="@string/codifica"/>
|
||||
<item
|
||||
android:id="@id/im_text_size"
|
||||
app:showAsAction="ifRoom"
|
||||
android:title="@string/font_size"/>
|
||||
</menu>
|
||||
</item>-->
|
||||
android:title="@string/donation_action"
|
||||
/>
|
||||
</menu>
|
||||
|
@@ -20,6 +20,11 @@
|
||||
|
||||
<changelog bulletedList="true">
|
||||
|
||||
<changelogversion versionName="1.13.1" changeDate="Oct 30, 2014">
|
||||
<changelogtext>Happy Halloween!</changelogtext>
|
||||
<changelogtext>Manly bug fixes</changelogtext>
|
||||
</changelogversion>
|
||||
|
||||
<changelogversion versionName="1.13" changeDate="Oct 25, 2014">
|
||||
<changelogtext>Turbo Editor is a free and open source app. Now you can show your appreciation and support development by donating :)</changelogtext>
|
||||
<changelogtext>New visual changes to make the app more "Material"</changelogtext>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">استخدم مسافة موحدة</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Usar monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Použít neproporcionální</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Podpořit</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Verwenden Sie Monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Spenden</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Χρήση monospace γραμματοσειράς</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Usar monoespacio</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donar</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Käytä tasalevyistä fonttia</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Sulje</string>
|
||||
<string name="about_action">Tietoja</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Lahjoita</string>
|
||||
<string name="donation_title">Lahjoita kehittäjälle</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Utiliser une police de largeur fixe</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Faire un don</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Use monospace</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="donation_action">Donate</string>
|
||||
<string name="donation_title">Donate to developer</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,8 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--Generated by crowdin.net-->
|
||||
<resources>
|
||||
<string name="use_monospace">Fix szélességű betűk használata</string>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--Generated by crowdin.com-->
|
||||
<!--
|
||||
~ Copyright (C) 2014 Vlad Mihalachi
|
||||
~
|
||||
@@ -18,6 +17,9 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<!--Generated by crowdin.com-->
|
||||
|
||||
<resources>
|
||||
<string name="close">Close</string>
|
||||
<string name="about_action">About</string>
|
||||
|