Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
d7a5d513c7 | |||
e540b8fda7 | |||
49f890adeb | |||
446a6da1fb | |||
474ce28737 | |||
fca3410f26 | |||
44773c2f1c | |||
41e9161e2b | |||
2d7bf9f05d | |||
40c9506ee2 | |||
b3a8539afa | |||
4d641485a5 |
5
.gitignore
vendored
5
.gitignore
vendored
@ -30,6 +30,9 @@ proguard/
|
|||||||
|
|
||||||
# Android Studio
|
# Android Studio
|
||||||
.gradle
|
.gradle
|
||||||
|
*.gradle
|
||||||
|
*.jks
|
||||||
/local.properties
|
/local.properties
|
||||||
/.idea/workspace.xml
|
/.idea/workspace.xml
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
/Turbo Editor/build/
|
66
README.md
66
README.md
@ -1,4 +1,64 @@
|
|||||||
turboeditor
|
# Turbo Editor
|
||||||
===========
|
Simple, powerful and Open Source file editor for Android licensed under the GPLv3 license.
|
||||||
|
|
||||||
simple and beatiful android file editor
|
### Contribute
|
||||||
|
You can contribute to this project in many ways:
|
||||||
|
* Browse our issues, comment on proposals, report bugs.
|
||||||
|
* Clone the balanced-dashboard repo, make some changes according to our
|
||||||
|
development guidelines and issue a pull-request with your changes.
|
||||||
|
* Help to translate the application on [Crowdin][crowdin]
|
||||||
|
* [Donate][donate]
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### Development guidelines
|
||||||
|
1. Fork it (`git clone git://github.com/vmihalachi/turbo-editor.git`)
|
||||||
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
||||||
|
3. Write your code
|
||||||
|
4. Commit your changes (`git commit -am 'Add some feature'`)
|
||||||
|
5. Push to the branch (`git push origin my-new-feature`)
|
||||||
|
6. Create new [pull request](https://help.github.com/articles/using-pull-requests)
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
###Donate
|
||||||
|
* Make a [Paypal][donate paypal] donation
|
||||||
|
* Flattr this project [](https://flattr.com/submit/auto?user_id=vmihalachi&url=https://raw.github.com/vmihalachi/turbo-editor&title=Turbo Editor&language=&tags=github&category=software)
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
###Download
|
||||||
|
* From the [Play Store][download playstore]
|
||||||
|
* Want to try beta releases? Be a part of the Google Plus [Community][community googleplus]!
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### Developer
|
||||||
|
[Vlad Mihalachi][developer site]
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### A special thanks to..
|
||||||
|
* [Dumitru Grubii][contributor dumitru grubii] for the icon
|
||||||
|
* All the translators
|
||||||
|
* You?
|
||||||
|
|
||||||
|
------
|
||||||
|
|
||||||
|
### License
|
||||||
|
Turbo Client is made available under the terms of the [GPLv3][gplv3].
|
||||||
|
|
||||||
|
See the [LICENSE][license] file that accompanies this distribution for the full text of the license.
|
||||||
|
|
||||||
|
[gplv3]: http://www.gnu.org/licenses/gpl.html
|
||||||
|
[license]: https://github.com/vmihalachi/turbo-editor/LICENSE
|
||||||
|
[donate]: https://github.com/vmihalachi/turbo-editor#donate
|
||||||
|
[donate paypal]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=PUQXSX6MTXHZ2
|
||||||
|
[community googleplus]: https://plus.google.com/u/0/communities/111974095419108178946
|
||||||
|
[download playstore]: https://play.google.com/store/apps/details?id=com.vmihalachi.turboeditor
|
||||||
|
[crowdin]: https://crowdin.net/project/turbo-client
|
||||||
|
[developer site]: http://vmihalachi.com/
|
||||||
|
[crowdin]: https://crowdin.net/project/turbo-client
|
||||||
|
[contributor dumitru grubii]: https://twitter.com/DumitruGrubii
|
||||||
|
[project issues]: https://github.com/vmihalachi/turbo-editor/issues
|
||||||
|
[project wiki]: https://github.com/vmihalachi/turbo-editor/wiki
|
||||||
|
1
Turbo Editor/.gitignore
vendored
1
Turbo Editor/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
/build
|
|
@ -1,28 +0,0 @@
|
|||||||
buildscript {
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
dependencies {
|
|
||||||
classpath 'com.android.tools.build:gradle:0.5.+'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
apply plugin: 'android'
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
android {
|
|
||||||
compileSdkVersion 18
|
|
||||||
buildToolsVersion "18.1.0"
|
|
||||||
|
|
||||||
defaultConfig {
|
|
||||||
minSdkVersion 14
|
|
||||||
targetSdkVersion 18
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compile 'com.github.gabrielemariotti.changeloglib:library:1.2.0'
|
|
||||||
compile fileTree(dir: 'libs', include: '*.jar')
|
|
||||||
}
|
|
@ -20,16 +20,14 @@
|
|||||||
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.vmihalachi.turboeditor"
|
package="com.vmihalachi.turboeditor"
|
||||||
android:versionCode="2"
|
android:versionCode="5"
|
||||||
android:versionName="0.2"
|
android:versionName="1.1"
|
||||||
android:installLocation="auto">
|
android:installLocation="auto">
|
||||||
|
|
||||||
<uses-sdk
|
<uses-sdk
|
||||||
android:minSdkVersion="14"
|
android:minSdkVersion="14"
|
||||||
android:targetSdkVersion="18" />
|
android:targetSdkVersion="18" />
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET"/>
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
|
||||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
@ -39,7 +37,7 @@
|
|||||||
android:theme="@style/AppStyle">
|
android:theme="@style/AppStyle">
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".HomeActivity"
|
android:name=".activity.HomeActivity"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||||
android:windowSoftInputMode="stateHidden|adjustResize"
|
android:windowSoftInputMode="stateHidden|adjustResize"
|
||||||
android:hardwareAccelerated="false"
|
android:hardwareAccelerated="false"
|
||||||
@ -72,12 +70,17 @@
|
|||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.vmihalachi.turboeditor.PreferenceAbout"
|
android:name=".activity.PreferenceAbout"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||||
android:label="@string/aboutactivity_info_category"/>
|
android:label="@string/aboutactivity_info_category"/>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="com.vmihalachi.turboeditor.SelectFileActivity"
|
android:name=".activity.LicensesActivity"
|
||||||
|
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||||
|
android:label="@string/open_source_license"/>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name=".activity.SelectFileActivity"
|
||||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||||
android:label="@string/open_a_file"/>
|
android:label="@string/open_a_file"/>
|
||||||
|
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
package com.vmihalachi.turboeditor;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.widget.ArrayAdapter;
|
|
||||||
import android.widget.ListView;
|
|
||||||
|
|
||||||
public class LicensesActivity extends Activity {
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_licenses);
|
|
||||||
ListView listView = (ListView) findViewById(android.R.id.list);
|
|
||||||
listView.setAdapter(adapter);
|
|
||||||
}
|
|
||||||
}
|
|
@ -17,15 +17,17 @@
|
|||||||
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor;
|
package com.vmihalachi.turboeditor.activity;
|
||||||
|
|
||||||
import android.app.ActionBar;
|
import android.app.ActionBar;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
import android.support.v4.app.ActionBarDrawerToggle;
|
import android.support.v4.app.ActionBarDrawerToggle;
|
||||||
import android.support.v4.widget.DrawerLayout;
|
import android.support.v4.widget.DrawerLayout;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@ -36,10 +38,15 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
|
||||||
|
import com.vmihalachi.turboeditor.R;
|
||||||
import com.vmihalachi.turboeditor.event.ErrorOpeningFileEvent;
|
import com.vmihalachi.turboeditor.event.ErrorOpeningFileEvent;
|
||||||
import com.vmihalachi.turboeditor.event.FileSavedEvent;
|
import com.vmihalachi.turboeditor.event.FileSavedEvent;
|
||||||
import com.vmihalachi.turboeditor.event.FileSelectedEvent;
|
import com.vmihalachi.turboeditor.event.FileSelectedEvent;
|
||||||
import com.vmihalachi.turboeditor.event.NewFileOpened;
|
import com.vmihalachi.turboeditor.event.NewFileOpened;
|
||||||
|
import com.vmihalachi.turboeditor.fragment.ChangelogDialogFragment;
|
||||||
|
import com.vmihalachi.turboeditor.fragment.EditorFragment;
|
||||||
|
import com.vmihalachi.turboeditor.fragment.NoFileOpenedFragment;
|
||||||
|
import com.vmihalachi.turboeditor.helper.AppInfoHelper;
|
||||||
|
|
||||||
import de.greenrobot.event.EventBus;
|
import de.greenrobot.event.EventBus;
|
||||||
|
|
||||||
@ -59,22 +66,20 @@ public class HomeActivity extends Activity {
|
|||||||
*/
|
*/
|
||||||
protected DrawerLayout mDrawerLayout;
|
protected DrawerLayout mDrawerLayout;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
//
|
|
||||||
checkTaskRoot();
|
|
||||||
//
|
|
||||||
setContentView(R.layout.activity_home);
|
setContentView(R.layout.activity_home);
|
||||||
//
|
// setup the navigation drawer
|
||||||
setupDrawerLayout();
|
setupNavigationDrawer();
|
||||||
// Replace fragment
|
// Replace fragment
|
||||||
getFragmentManager()
|
getFragmentManager()
|
||||||
.beginTransaction()
|
.beginTransaction()
|
||||||
.replace(R.id.fragment_editor, new NoFileOpenedFragment())
|
.replace(R.id.fragment_editor, new NoFileOpenedFragment())
|
||||||
.commit();
|
.commit();
|
||||||
/* First Time we open this activity */
|
/* First Time we open this activity */
|
||||||
if (savedInstanceState == null) {
|
if (savedInstanceState == null) {
|
||||||
@ -83,8 +88,10 @@ public class HomeActivity extends Activity {
|
|||||||
// Set the default title
|
// Set the default title
|
||||||
getActionBar().setTitle(getString(R.string.nome_app_turbo_editor));
|
getActionBar().setTitle(getString(R.string.nome_app_turbo_editor));
|
||||||
}
|
}
|
||||||
//
|
// parse the intent
|
||||||
receiveIntent();
|
parseIntent(getIntent());
|
||||||
|
// show a dialog with the changelog
|
||||||
|
showChangeLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -96,6 +103,7 @@ public class HomeActivity extends Activity {
|
|||||||
mDrawerToggle.syncState();
|
mDrawerToggle.syncState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -106,6 +114,7 @@ public class HomeActivity extends Activity {
|
|||||||
EventBus.getDefault().register(this);
|
EventBus.getDefault().register(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -116,6 +125,7 @@ public class HomeActivity extends Activity {
|
|||||||
EventBus.getDefault().unregister(this);
|
EventBus.getDefault().unregister(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -129,6 +139,7 @@ public class HomeActivity extends Activity {
|
|||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -138,6 +149,7 @@ public class HomeActivity extends Activity {
|
|||||||
mDrawerToggle.onConfigurationChanged(newConfig);
|
mDrawerToggle.onConfigurationChanged(newConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -147,6 +159,7 @@ public class HomeActivity extends Activity {
|
|||||||
return super.onCreateOptionsMenu(menu);
|
return super.onCreateOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -155,7 +168,7 @@ public class HomeActivity extends Activity {
|
|||||||
/* If we clicked on the Navigation Drawer Menu item */
|
/* If we clicked on the Navigation Drawer Menu item */
|
||||||
if (mDrawerToggle.onOptionsItemSelected(item)) {
|
if (mDrawerToggle.onOptionsItemSelected(item)) {
|
||||||
return true;
|
return true;
|
||||||
} else switch (item.getItemId()){
|
} else switch (item.getItemId()) {
|
||||||
case R.id.im_open:
|
case R.id.im_open:
|
||||||
startActivityForResult(new Intent(HomeActivity.this, SelectFileActivity.class)
|
startActivityForResult(new Intent(HomeActivity.this, SelectFileActivity.class)
|
||||||
.putExtra("path", "")
|
.putExtra("path", "")
|
||||||
@ -170,6 +183,7 @@ public class HomeActivity extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -177,33 +191,42 @@ public class HomeActivity extends Activity {
|
|||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
if (resultCode == RESULT_OK && requestCode == SELECT_FILE_CODE) {
|
if (resultCode == RESULT_OK && requestCode == SELECT_FILE_CODE) {
|
||||||
String path = data.getStringExtra("path");
|
String path = data.getStringExtra("path");
|
||||||
if(!TextUtils.isEmpty(path)){
|
if (!TextUtils.isEmpty(path)) {
|
||||||
EventBus.getDefault().postSticky(new NewFileOpened(path));
|
EventBus.getDefault().postSticky(new NewFileOpened(path));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void onNewIntent(Intent intent) {
|
||||||
|
super.onNewIntent(intent);
|
||||||
|
parseIntent(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
* @param event
|
* @param event
|
||||||
*/
|
*/
|
||||||
public void onEvent(FileSelectedEvent event){
|
public void onEvent(FileSelectedEvent event) {
|
||||||
// Close the drawer
|
// Close the drawer
|
||||||
mDrawerLayout.closeDrawer(Gravity.LEFT);
|
mDrawerLayout.closeDrawer(Gravity.LEFT);
|
||||||
// Replace fragment
|
// Replace fragment
|
||||||
getFragmentManager()
|
getFragmentManager()
|
||||||
.beginTransaction()
|
.beginTransaction()
|
||||||
.replace(R.id.fragment_editor, EditorFragment.newInstance(event.getPath()))
|
.replace(R.id.fragment_editor, EditorFragment.newInstance(event.getPath()))
|
||||||
.commit();
|
.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When a file is saved
|
* When a file is saved
|
||||||
* Invoked by the EditorFragment
|
* Invoked by the EditorFragment
|
||||||
|
*
|
||||||
* @param event The event called
|
* @param event The event called
|
||||||
*/
|
*/
|
||||||
public void onEvent(FileSavedEvent event){
|
public void onEvent(FileSavedEvent event) {
|
||||||
try {
|
try {
|
||||||
closeKeyBoard();
|
closeKeyBoard();
|
||||||
} catch (NullPointerException e) {
|
} catch (NullPointerException e) {
|
||||||
@ -232,15 +255,18 @@ public class HomeActivity extends Activity {
|
|||||||
// Replace fragment
|
// Replace fragment
|
||||||
getFragmentManager()
|
getFragmentManager()
|
||||||
.beginTransaction()
|
.beginTransaction()
|
||||||
.replace(R.id.fragment_editor, new NoFileOpenedFragment())
|
.replace(R.id.fragment_editor, new NoFileOpenedFragment())
|
||||||
.commit();
|
.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* When a file can't be opened
|
||||||
|
* Invoked by the EditorFragment
|
||||||
*
|
*
|
||||||
|
* @param event The event called
|
||||||
*/
|
*/
|
||||||
public void onEvent(ErrorOpeningFileEvent event){
|
public void onEvent(ErrorOpeningFileEvent event) {
|
||||||
//
|
//
|
||||||
mDrawerLayout.openDrawer(Gravity.LEFT);
|
mDrawerLayout.openDrawer(Gravity.LEFT);
|
||||||
//
|
//
|
||||||
@ -248,7 +274,7 @@ public class HomeActivity extends Activity {
|
|||||||
// Replace fragment
|
// Replace fragment
|
||||||
getFragmentManager()
|
getFragmentManager()
|
||||||
.beginTransaction()
|
.beginTransaction()
|
||||||
.replace(R.id.fragment_editor, new NoFileOpenedFragment())
|
.replace(R.id.fragment_editor, new NoFileOpenedFragment())
|
||||||
.commit();
|
.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -268,16 +294,9 @@ public class HomeActivity extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Setup the navigation drawer
|
||||||
*/
|
*/
|
||||||
private void checkTaskRoot(){
|
private void setupNavigationDrawer() {
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private void setupDrawerLayout(){
|
|
||||||
final String defaultTitle = getString(R.string.nome_app_turbo_editor);
|
|
||||||
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
|
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||||
/* Action Bar */
|
/* Action Bar */
|
||||||
final ActionBar ab = getActionBar();
|
final ActionBar ab = getActionBar();
|
||||||
@ -292,11 +311,17 @@ public class HomeActivity extends Activity {
|
|||||||
R.string.nome_app_turbo_editor,
|
R.string.nome_app_turbo_editor,
|
||||||
R.string.nome_app_turbo_editor) {
|
R.string.nome_app_turbo_editor) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onDrawerClosed(View view) {
|
public void onDrawerClosed(View view) {
|
||||||
invalidateOptionsMenu();
|
invalidateOptionsMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onDrawerOpened(View drawerView) {
|
public void onDrawerOpened(View drawerView) {
|
||||||
invalidateOptionsMenu();
|
invalidateOptionsMenu();
|
||||||
@ -306,27 +331,23 @@ public class HomeActivity extends Activity {
|
|||||||
mDrawerLayout.setDrawerListener(mDrawerToggle);
|
mDrawerLayout.setDrawerListener(mDrawerToggle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
/**
|
||||||
protected void onNewIntent(Intent intent) {
|
* Show a dialog with the changelog
|
||||||
super.onNewIntent(intent);
|
*/
|
||||||
final String action = intent.getAction();
|
private void showChangeLog() {
|
||||||
final String type = intent.getType();
|
final String currentVersion = AppInfoHelper.getCurrentVersion(this);
|
||||||
|
final SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
if (Intent.ACTION_VIEW.equals(action)
|
final String lastVersion = preferences.getString("last_version", currentVersion);
|
||||||
|| Intent.ACTION_EDIT.equals(action)
|
preferences.edit().putString("last_version", currentVersion).commit();
|
||||||
|| Intent.ACTION_PICK.equals(action)
|
if (!lastVersion.equals(currentVersion)) {
|
||||||
&& type != null) {
|
ChangelogDialogFragment.showChangeLogDialog(getFragmentManager());
|
||||||
// Post the NewFileOpened Event
|
|
||||||
EventBus.getDefault().postSticky(new NewFileOpened(intent.getData().getPath()));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Parses the intent
|
||||||
*/
|
*/
|
||||||
private void receiveIntent(){
|
private void parseIntent(Intent intent) {
|
||||||
// Get intent, action and MIME type
|
|
||||||
final Intent intent = getIntent();
|
|
||||||
final String action = intent.getAction();
|
final String action = intent.getAction();
|
||||||
final String type = intent.getType();
|
final String type = intent.getType();
|
||||||
|
|
@ -0,0 +1,50 @@
|
|||||||
|
package com.vmihalachi.turboeditor.activity;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
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 com.vmihalachi.turboeditor.R;
|
||||||
|
|
||||||
|
public class LicensesActivity extends Activity implements AdapterView.OnItemClickListener {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_licenses);
|
||||||
|
ListView listView = (ListView) findViewById(android.R.id.list);
|
||||||
|
listView.setOnItemClickListener(this);
|
||||||
|
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.open_source_libs));
|
||||||
|
listView.setAdapter(adapter);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
@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;
|
||||||
|
if (openSourceLib.equals("ChangeLog Library")) {
|
||||||
|
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/gabrielemariotti/changeloglib?source=c#license"));
|
||||||
|
} else if (openSourceLib.equals("EventBus")) {
|
||||||
|
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/greenrobot/EventBus?source=c#license"));
|
||||||
|
} else if (openSourceLib.equals("commons-io")) {
|
||||||
|
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://commons.apache.org/proper/commons-io/"));
|
||||||
|
}
|
||||||
|
if (browserIntent != null) {
|
||||||
|
startActivity(browserIntent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -17,22 +17,22 @@
|
|||||||
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor;
|
package com.vmihalachi.turboeditor.activity;
|
||||||
|
|
||||||
import android.app.Fragment;
|
|
||||||
import android.app.FragmentManager;
|
|
||||||
import android.app.FragmentTransaction;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ApplicationInfo;
|
|
||||||
import android.content.pm.PackageInfo;
|
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.Preference;
|
import android.preference.Preference;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
|
|
||||||
|
import com.vmihalachi.turboeditor.R;
|
||||||
|
import com.vmihalachi.turboeditor.fragment.ChangelogDialogFragment;
|
||||||
|
import com.vmihalachi.turboeditor.helper.AppInfoHelper;
|
||||||
|
|
||||||
public class PreferenceAbout extends PreferenceActivity {
|
public class PreferenceAbout extends PreferenceActivity {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(final Bundle savedInstanceState) {
|
public void onCreate(final Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@ -47,12 +47,15 @@ public class PreferenceAbout extends PreferenceActivity {
|
|||||||
market = findPreference("aboutactivity_authormarket");
|
market = findPreference("aboutactivity_authormarket");
|
||||||
if (email != null) {
|
if (email != null) {
|
||||||
email.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
email.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(final Preference preference) {
|
public boolean onPreferenceClick(final Preference preference) {
|
||||||
Intent i = new Intent(Intent.ACTION_SEND);
|
Intent i = new Intent(Intent.ACTION_SEND);
|
||||||
i.setType("message/rfc822");
|
i.setType("message/rfc822");
|
||||||
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"app.feedback.mail@gmail.com"});
|
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"app.feedback.mail@gmail.com"});
|
||||||
i.putExtra(Intent.EXTRA_SUBJECT, getApplicationName(getBaseContext()) + " " + getCurrentVersion(getBaseContext()));
|
i.putExtra(Intent.EXTRA_SUBJECT, AppInfoHelper.getApplicationName(getBaseContext()) + " " + AppInfoHelper.getCurrentVersion(getBaseContext()));
|
||||||
i.putExtra(Intent.EXTRA_TEXT, "");
|
i.putExtra(Intent.EXTRA_TEXT, "");
|
||||||
try {
|
try {
|
||||||
startActivity(Intent.createChooser(i, getString(R.string.aboutactivity_authoremail_summary)));
|
startActivity(Intent.createChooser(i, getString(R.string.aboutactivity_authoremail_summary)));
|
||||||
@ -64,15 +67,21 @@ public class PreferenceAbout extends PreferenceActivity {
|
|||||||
}
|
}
|
||||||
if (changelog != null) {
|
if (changelog != null) {
|
||||||
changelog.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
changelog.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(final Preference preference) {
|
public boolean onPreferenceClick(final Preference preference) {
|
||||||
openDialogFragment(new DialogStandardFragment());
|
ChangelogDialogFragment.showChangeLogDialog(getFragmentManager());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (open_source_licenses != null) {
|
if (open_source_licenses != null) {
|
||||||
open_source_licenses.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
open_source_licenses.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(final Preference preference) {
|
public boolean onPreferenceClick(final Preference preference) {
|
||||||
startActivity(new Intent(PreferenceAbout.this, LicensesActivity.class));
|
startActivity(new Intent(PreferenceAbout.this, LicensesActivity.class));
|
||||||
@ -82,6 +91,9 @@ public class PreferenceAbout extends PreferenceActivity {
|
|||||||
}
|
}
|
||||||
if (market != null) {
|
if (market != null) {
|
||||||
market.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
market.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceClick(final Preference preference) {
|
public boolean onPreferenceClick(final Preference preference) {
|
||||||
try {
|
try {
|
||||||
@ -94,33 +106,4 @@ public class PreferenceAbout extends PreferenceActivity {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openDialogFragment(DialogStandardFragment dialogStandardFragment) {
|
|
||||||
if (dialogStandardFragment != null) {
|
|
||||||
FragmentManager fm = getFragmentManager();
|
|
||||||
FragmentTransaction ft = fm.beginTransaction();
|
|
||||||
Fragment prev = fm.findFragmentByTag("changelogdemo_dialog");
|
|
||||||
if (prev != null) {
|
|
||||||
ft.remove(prev);
|
|
||||||
}
|
|
||||||
ft.addToBackStack(null);
|
|
||||||
|
|
||||||
dialogStandardFragment.show(ft, "changelogdemo_dialog");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getApplicationName(final Context context) {
|
|
||||||
final ApplicationInfo applicationInfo = context.getApplicationInfo();
|
|
||||||
return context.getString(applicationInfo.labelRes);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String getCurrentVersion(final Context context) {
|
|
||||||
try {
|
|
||||||
final PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(),
|
|
||||||
0);
|
|
||||||
return packageInfo.versionName;
|
|
||||||
} catch (PackageManager.NameNotFoundException e) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -17,14 +17,14 @@
|
|||||||
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor;
|
package com.vmihalachi.turboeditor.activity;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -32,12 +32,16 @@ import android.widget.AdapterView;
|
|||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.vmihalachi.turboeditor.R;
|
||||||
import com.vmihalachi.turboeditor.adapter.AdapterDetailedList;
|
import com.vmihalachi.turboeditor.adapter.AdapterDetailedList;
|
||||||
|
import com.vmihalachi.turboeditor.fragment.EditDialogFragment;
|
||||||
|
import com.vmihalachi.turboeditor.helper.PreferenceHelper;
|
||||||
import com.vmihalachi.turboeditor.util.AlphanumComparator;
|
import com.vmihalachi.turboeditor.util.AlphanumComparator;
|
||||||
|
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.AbstractMap;
|
import java.util.AbstractMap;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -45,20 +49,16 @@ import java.util.Comparator;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
|
||||||
/**
|
public class SelectFileActivity extends Activity implements AdapterView.OnItemClickListener, EditDialogFragment.EditDialogListener {
|
||||||
* Created by Vlad on 9/24/13.
|
private static final String TAG = "A0A";
|
||||||
*/
|
|
||||||
public class SelectFileActivity extends Activity implements AdapterView.OnItemClickListener {
|
|
||||||
private String currentFolder;
|
private String currentFolder;
|
||||||
private ListView listView;
|
private ListView listView;
|
||||||
private boolean wantAFile, wantAFolder;
|
private boolean wantAFile, wantAFolder;
|
||||||
|
|
||||||
// The android SD card root path
|
|
||||||
public static final String SD_CARD_ROOT =
|
|
||||||
Environment.getExternalStorageDirectory()
|
|
||||||
.getAbsolutePath();
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@ -73,13 +73,16 @@ public class SelectFileActivity extends Activity implements AdapterView.OnItemCl
|
|||||||
|
|
||||||
String path = getIntent().getExtras().getString("path");
|
String path = getIntent().getExtras().getString("path");
|
||||||
if (TextUtils.isEmpty(path)) {
|
if (TextUtils.isEmpty(path)) {
|
||||||
new UpdateList().execute(SD_CARD_ROOT);
|
new UpdateList().execute(PreferenceHelper.getLastNavigatedFolder(this));
|
||||||
} else {
|
} else {
|
||||||
new UpdateList().execute(path);
|
new UpdateList().execute(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void returnData(String path) {
|
void returnData(String path) {
|
||||||
|
if(!TextUtils.isEmpty(path)){
|
||||||
|
PreferenceHelper.setLastNavigatedFolder(this, path);
|
||||||
|
}
|
||||||
final Intent returnIntent = new Intent();
|
final Intent returnIntent = new Intent();
|
||||||
returnIntent.putExtra("path", path);
|
returnIntent.putExtra("path", path);
|
||||||
setResult(RESULT_OK, returnIntent);
|
setResult(RESULT_OK, returnIntent);
|
||||||
@ -87,15 +90,29 @@ public class SelectFileActivity extends Activity implements AdapterView.OnItemCl
|
|||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onItemClick(AdapterView<?> parent,
|
public void onItemClick(AdapterView<?> parent,
|
||||||
View view, int position, long id) {
|
View view, int position, long id) {
|
||||||
final String name = ((TextView) view.findViewById(android.R.id.title)).getText().toString();
|
final String name = ((TextView) view.findViewById(android.R.id.title)).getText().toString();
|
||||||
if (name.equals("..")) {
|
if (name.equals("..")) {
|
||||||
vaiIndietro();
|
if (currentFolder.equals("/")) {
|
||||||
|
new UpdateList().execute(PreferenceHelper.getLastNavigatedFolder(this));
|
||||||
|
} else {
|
||||||
|
File tempFile = new File(currentFolder);
|
||||||
|
if (tempFile.isFile()) {
|
||||||
|
tempFile = tempFile.getParentFile()
|
||||||
|
.getParentFile();
|
||||||
|
} else {
|
||||||
|
tempFile = tempFile.getParentFile();
|
||||||
|
}
|
||||||
|
new UpdateList().execute(tempFile.getAbsolutePath());
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
} else if (name.equals(getString(R.string.home))) {
|
} else if (name.equals(getString(R.string.home))) {
|
||||||
new UpdateList().execute(SD_CARD_ROOT);
|
new UpdateList().execute(PreferenceHelper.getLastNavigatedFolder(this));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,6 +125,9 @@ public class SelectFileActivity extends Activity implements AdapterView.OnItemCl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
getMenuInflater().inflate(R.menu.activity_select_file, menu);
|
getMenuInflater().inflate(R.menu.activity_select_file, menu);
|
||||||
@ -116,6 +136,9 @@ public class SelectFileActivity extends Activity implements AdapterView.OnItemCl
|
|||||||
return super.onCreateOptionsMenu(menu);
|
return super.onCreateOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
int i = item.getItemId();
|
int i = item.getItemId();
|
||||||
@ -125,28 +148,34 @@ public class SelectFileActivity extends Activity implements AdapterView.OnItemCl
|
|||||||
} else if (wantAFile) {
|
} else if (wantAFile) {
|
||||||
returnData("");
|
returnData("");
|
||||||
}
|
}
|
||||||
|
} else if (i == R.id.im_new_file) {
|
||||||
|
final EditDialogFragment dialogFrag = EditDialogFragment.newInstance(EditDialogFragment.Actions.NewLocalFile);
|
||||||
|
dialogFrag.show(getFragmentManager().beginTransaction(), "dialog");
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
void vaiIndietro() {
|
/**
|
||||||
if (currentFolder.equals("/")) {
|
* {@inheritDoc}
|
||||||
new UpdateList().execute(SD_CARD_ROOT);
|
*/
|
||||||
} else {
|
@Override
|
||||||
File tempFile = new File(currentFolder);
|
public void onFinishEditDialog(final String inputText, final String hint, final EditDialogFragment.Actions actions) {
|
||||||
if (tempFile.isFile()) {
|
if(actions == EditDialogFragment.Actions.NewLocalFile){
|
||||||
tempFile = tempFile.getParentFile()
|
File file = new File(currentFolder, inputText);
|
||||||
.getParentFile();
|
try {
|
||||||
} else {
|
file.createNewFile();
|
||||||
tempFile = tempFile.getParentFile();
|
} catch (IOException e) {
|
||||||
|
Log.e(TAG, e.getMessage(), e);
|
||||||
}
|
}
|
||||||
new UpdateList().execute(tempFile.getAbsolutePath());
|
returnData(file.getAbsolutePath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class UpdateList extends
|
private class UpdateList extends AsyncTask<String, Void, LinkedList<AdapterDetailedList.FileDetail>> {
|
||||||
AsyncTask<String, Void, LinkedList<AdapterDetailedList.FileDetail>> {
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected LinkedList<AdapterDetailedList.FileDetail> doInBackground(final String... params) {
|
protected LinkedList<AdapterDetailedList.FileDetail> doInBackground(final String... params) {
|
||||||
try {
|
try {
|
||||||
@ -198,6 +227,9 @@ public class SelectFileActivity extends Activity implements AdapterView.OnItemCl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(final LinkedList<AdapterDetailedList.FileDetail> names) {
|
protected void onPostExecute(final LinkedList<AdapterDetailedList.FileDetail> names) {
|
||||||
boolean isRoot = currentFolder.equals("/");
|
boolean isRoot = currentFolder.equals("/");
|
||||||
@ -209,6 +241,9 @@ public class SelectFileActivity extends Activity implements AdapterView.OnItemCl
|
|||||||
|
|
||||||
public final Comparator<File> getFileNameComparator() {
|
public final Comparator<File> getFileNameComparator() {
|
||||||
return new AlphanumComparator() {
|
return new AlphanumComparator() {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getTheString(Object obj) {
|
public String getTheString(Object obj) {
|
||||||
return ((File) obj).getName()
|
return ((File) obj).getName()
|
@ -20,7 +20,6 @@
|
|||||||
package com.vmihalachi.turboeditor.adapter;
|
package com.vmihalachi.turboeditor.adapter;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Typeface;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -30,70 +29,53 @@ import android.widget.ImageView;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.vmihalachi.turboeditor.R;
|
import com.vmihalachi.turboeditor.R;
|
||||||
import com.vmihalachi.turboeditor.helper.FileHelper;
|
|
||||||
import com.vmihalachi.turboeditor.util.MimeTypes;
|
import com.vmihalachi.turboeditor.util.MimeTypes;
|
||||||
|
|
||||||
|
import org.apache.commons.io.FilenameUtils;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class AdapterDetailedList extends
|
public class AdapterDetailedList extends
|
||||||
ArrayAdapter<AdapterDetailedList.FileDetail> {
|
ArrayAdapter<AdapterDetailedList.FileDetail> {
|
||||||
|
|
||||||
// Layout Inflater
|
// Layout Inflater
|
||||||
final LayoutInflater inflater;
|
private final LayoutInflater inflater;
|
||||||
|
|
||||||
// The Context to get drawables from resources
|
// List of file details
|
||||||
private final Context context;
|
private final LinkedList<FileDetail> fileDetails;
|
||||||
|
|
||||||
// The list of names
|
|
||||||
final LinkedList<FileDetail> fileDetails;
|
|
||||||
|
|
||||||
// Change HashMap<Integer, Boolean> to SparseBooleanArray
|
|
||||||
private HashMap<String, Boolean> mSelection =
|
|
||||||
new HashMap<String, Boolean>();
|
|
||||||
|
|
||||||
private final int default_text_color;
|
|
||||||
private final int highlight_text_color;
|
|
||||||
|
|
||||||
public static class ViewHolder {
|
public static class ViewHolder {
|
||||||
|
|
||||||
// Text view with the name of the file
|
// Name of the file
|
||||||
public TextView label;
|
public TextView nameLabel;
|
||||||
|
|
||||||
// Text view with the name of the file
|
// Size of the file
|
||||||
public TextView sizeLabel;
|
public TextView sizeLabel;
|
||||||
|
|
||||||
|
// Date of the file
|
||||||
public TextView dateLabel;
|
public TextView dateLabel;
|
||||||
|
|
||||||
// The icon of the file
|
// Icon of the file
|
||||||
public ImageView icon;
|
public ImageView icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
public AdapterDetailedList(final Context context,
|
public AdapterDetailedList(final Context context,
|
||||||
final LinkedList<FileDetail> fileDetails,
|
final LinkedList<FileDetail> fileDetails,
|
||||||
final boolean isRoot) {
|
final boolean isRoot) {
|
||||||
// super
|
super(context, R.layout.item_file_list, fileDetails);
|
||||||
super(context,
|
|
||||||
R.layout.item_file_list,
|
|
||||||
fileDetails);
|
|
||||||
this.context = context;
|
|
||||||
this.fileDetails = fileDetails;
|
this.fileDetails = fileDetails;
|
||||||
// Cache the LayoutInflate to avoid asking for a new one each time.
|
|
||||||
this.inflater = LayoutInflater.from(context);
|
this.inflater = LayoutInflater.from(context);
|
||||||
this.default_text_color = context.getResources().getColor(android.R.color.primary_text_dark);
|
|
||||||
this.highlight_text_color = context.getResources().getColor(android.R.color.holo_blue_dark);
|
|
||||||
if (!isRoot) {
|
if (!isRoot) {
|
||||||
this.fileDetails.addFirst(new FileDetail("..",
|
this.fileDetails.addFirst(new FileDetail("..", context.getString(R.string.folder), ""));
|
||||||
context.getString(R.string.folder), ""));
|
|
||||||
} else {
|
} else {
|
||||||
this.fileDetails.addFirst(new FileDetail(context.getString(R.string.home),
|
this.fileDetails.addFirst(new FileDetail(context.getString(R.string.home), context.getString(R.string.folder), ""));
|
||||||
context.getString(R.string.folder),
|
|
||||||
""));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public View getView(final int position,
|
public View getView(final int position,
|
||||||
View convertView, final ViewGroup parent) {
|
View convertView, final ViewGroup parent) {
|
||||||
@ -102,7 +84,7 @@ public class AdapterDetailedList extends
|
|||||||
.inflate(R.layout.item_file_list,
|
.inflate(R.layout.item_file_list,
|
||||||
null);
|
null);
|
||||||
final ViewHolder hold = new ViewHolder();
|
final ViewHolder hold = new ViewHolder();
|
||||||
hold.label = (TextView) convertView.findViewById(android.R.id.title);
|
hold.nameLabel = (TextView) convertView.findViewById(android.R.id.title);
|
||||||
hold.sizeLabel = (TextView) convertView.findViewById(android.R.id.text1);
|
hold.sizeLabel = (TextView) convertView.findViewById(android.R.id.text1);
|
||||||
hold.dateLabel = (TextView) convertView.findViewById(android.R.id.text2);
|
hold.dateLabel = (TextView) convertView.findViewById(android.R.id.text2);
|
||||||
hold.icon = (ImageView) convertView.findViewById(android.R.id.icon);
|
hold.icon = (ImageView) convertView.findViewById(android.R.id.icon);
|
||||||
@ -110,119 +92,46 @@ public class AdapterDetailedList extends
|
|||||||
final FileDetail fileDetail = fileDetails.get(position);
|
final FileDetail fileDetail = fileDetails.get(position);
|
||||||
final String fileName = fileDetail.getName();
|
final String fileName = fileDetail.getName();
|
||||||
setIcon(hold, fileDetail);
|
setIcon(hold, fileDetail);
|
||||||
hold.label
|
hold.nameLabel.setText(fileName);
|
||||||
.setText(fileName);
|
hold.sizeLabel.setText(fileDetail.getSize());
|
||||||
hold.sizeLabel
|
hold.dateLabel.setText(fileDetail.getDateModified());
|
||||||
.setText(fileDetail.getSize());
|
|
||||||
hold.dateLabel
|
|
||||||
.setText(fileDetail.getDateModified());
|
|
||||||
if (isPositionChecked(fileName)) {
|
|
||||||
hold.label
|
|
||||||
.setTextColor(this.highlight_text_color);
|
|
||||||
hold.label
|
|
||||||
.setTypeface(null, Typeface.ITALIC);
|
|
||||||
} else {
|
|
||||||
hold.label
|
|
||||||
.setTextColor(this.default_text_color);
|
|
||||||
hold.label
|
|
||||||
.setTypeface(null, Typeface.NORMAL);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
final ViewHolder hold = ((ViewHolder) convertView.getTag());
|
final ViewHolder hold = ((ViewHolder) convertView.getTag());
|
||||||
final FileDetail fileDetail = fileDetails.get(position);
|
final FileDetail fileDetail = fileDetails.get(position);
|
||||||
final String fileName = fileDetail.getName();
|
final String fileName = fileDetail.getName();
|
||||||
setIcon(hold, fileDetail);
|
setIcon(hold, fileDetail);
|
||||||
hold.label
|
hold.nameLabel.setText(fileName);
|
||||||
.setText(fileName);
|
hold.sizeLabel.setText(fileDetail.getSize());
|
||||||
hold.sizeLabel
|
hold.dateLabel.setText(fileDetail.getDateModified());
|
||||||
.setText(fileDetail.getSize());
|
|
||||||
hold.dateLabel
|
|
||||||
.setText(fileDetail.getDateModified());
|
|
||||||
if (isPositionChecked(fileName)) {
|
|
||||||
hold.label
|
|
||||||
.setTextColor(this.highlight_text_color);
|
|
||||||
hold.label
|
|
||||||
.setTypeface(null, Typeface.ITALIC);
|
|
||||||
} else {
|
|
||||||
hold.label
|
|
||||||
.setTextColor(this.default_text_color);
|
|
||||||
hold.label
|
|
||||||
.setTypeface(null, Typeface.NORMAL);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return convertView;
|
return convertView;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setIcon(final ViewHolder viewHolder,
|
private void setIcon(final ViewHolder viewHolder, final FileDetail fileDetail) {
|
||||||
final FileDetail fileDetail) {
|
|
||||||
final String fileName = fileDetail.getName();
|
final String fileName = fileDetail.getName();
|
||||||
final String ext = FileHelper.getExtension(fileName);
|
final String ext = FilenameUtils.getExtension(fileName);
|
||||||
if (fileDetail.isFolder()) {
|
if (fileDetail.isFolder()) {
|
||||||
viewHolder.icon
|
viewHolder.icon.setImageResource(R.color.file_folder);
|
||||||
.setImageResource(R.color.file_folder);
|
} else if (Arrays.asList(MimeTypes.MIME_HTML).contains(ext) || ext.endsWith("html")) {
|
||||||
} else if (Arrays.asList(MimeTypes.MIME_HTML)
|
viewHolder.icon.setImageResource(R.color.file_html);
|
||||||
.contains(ext) || ext.endsWith("html")) {
|
} else if (Arrays.asList(MimeTypes.MIME_CODE).contains(ext)
|
||||||
viewHolder.icon
|
|
||||||
.setImageResource(R.color.file_html);
|
|
||||||
} else if (Arrays.asList(MimeTypes.MIME_CODE)
|
|
||||||
.contains(ext)
|
|
||||||
|| fileName.endsWith("css")
|
|| fileName.endsWith("css")
|
||||||
|| fileName.endsWith("js")) {
|
|| fileName.endsWith("js")) {
|
||||||
viewHolder.icon
|
viewHolder.icon.setImageResource(R.color.file_code);
|
||||||
.setImageResource(R.color.file_code);
|
|
||||||
} else if (Arrays.asList(MimeTypes.MIME_ARCHIVE).contains(ext)) {
|
} else if (Arrays.asList(MimeTypes.MIME_ARCHIVE).contains(ext)) {
|
||||||
viewHolder.icon
|
viewHolder.icon.setImageResource(R.color.file_archive);
|
||||||
.setImageResource(R.color.file_archive);
|
|
||||||
} else if (Arrays.asList(MimeTypes.MIME_MUSIC)
|
} else if (Arrays.asList(MimeTypes.MIME_MUSIC)
|
||||||
.contains(ext)) {
|
.contains(ext)) {
|
||||||
viewHolder.icon
|
viewHolder.icon.setImageResource(R.color.file_media_music);
|
||||||
.setImageResource(R.color.file_media_music);
|
|
||||||
} else if (Arrays.asList(MimeTypes.MIME_PICTURE).contains(ext)) {
|
} else if (Arrays.asList(MimeTypes.MIME_PICTURE).contains(ext)) {
|
||||||
viewHolder.icon
|
viewHolder.icon.setImageResource(R.color.file_media_picture);
|
||||||
.setImageResource(R.color.file_media_picture);
|
} else if (Arrays.asList(MimeTypes.MIME_VIDEO).contains(ext)) {
|
||||||
} else if (Arrays.asList(MimeTypes.MIME_VIDEO)
|
viewHolder.icon.setImageResource(R.color.file_media_video);
|
||||||
.contains(ext)) {
|
|
||||||
viewHolder.icon
|
|
||||||
.setImageResource(R.color.file_media_video);
|
|
||||||
} else {
|
} else {
|
||||||
viewHolder.icon
|
viewHolder.icon.setImageResource(R.color.file_text);
|
||||||
.setImageResource(R.color.file_text);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void checkPosition(final String name) {
|
|
||||||
if (isPositionChecked(name)) {
|
|
||||||
removeSelection(name);
|
|
||||||
} else {
|
|
||||||
setNewSelection(name, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void setNewSelection(final String name,
|
|
||||||
final boolean value) {
|
|
||||||
this.mSelection.put(name, value);
|
|
||||||
notifyDataSetChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean isPositionChecked(final String name) {
|
|
||||||
final Boolean result = this.mSelection.get(name);
|
|
||||||
return (result == null) ? false : result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<String> getCurrentCheckedPosition() {
|
|
||||||
return this.mSelection.keySet();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void removeSelection(final String name) {
|
|
||||||
this.mSelection.remove(name);
|
|
||||||
notifyDataSetChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clearSelection() {
|
|
||||||
this.mSelection = new HashMap<String, Boolean>();
|
|
||||||
notifyDataSetChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class FileDetail {
|
public static class FileDetail {
|
||||||
private String name;
|
private String name;
|
||||||
private String size;
|
private String size;
|
||||||
|
@ -23,7 +23,7 @@ public class FileSelectedEvent {
|
|||||||
|
|
||||||
private String path;
|
private String path;
|
||||||
|
|
||||||
public FileSelectedEvent(String path){
|
public FileSelectedEvent(String path) {
|
||||||
this.path = path;
|
this.path = path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,11 +13,14 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
package com.vmihalachi.turboeditor;
|
package com.vmihalachi.turboeditor.fragment;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.DialogFragment;
|
import android.app.DialogFragment;
|
||||||
|
import android.app.Fragment;
|
||||||
|
import android.app.FragmentManager;
|
||||||
|
import android.app.FragmentTransaction;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@ -25,18 +28,18 @@ import android.net.Uri;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
|
||||||
|
import com.vmihalachi.turboeditor.R;
|
||||||
|
|
||||||
import it.gmariotti.changelibs.library.view.ChangeLogListView;
|
import it.gmariotti.changelibs.library.view.ChangeLogListView;
|
||||||
|
|
||||||
/**
|
public class ChangelogDialogFragment extends DialogFragment {
|
||||||
* Example with Dialog
|
|
||||||
*
|
|
||||||
* @author Gabriele Mariotti (gabri.mariotti@gmail.com)
|
|
||||||
*/
|
|
||||||
public class DialogStandardFragment extends DialogFragment {
|
|
||||||
|
|
||||||
public DialogStandardFragment() {
|
public ChangelogDialogFragment() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
|
|
||||||
@ -54,6 +57,9 @@ public class DialogStandardFragment extends DialogFragment {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
.setPositiveButton(R.string.vota, new DialogInterface.OnClickListener() {
|
.setPositiveButton(R.string.vota, new DialogInterface.OnClickListener() {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onClick(final DialogInterface dialog, final int which) {
|
public void onClick(final DialogInterface dialog, final int which) {
|
||||||
try {
|
try {
|
||||||
@ -65,4 +71,15 @@ public class DialogStandardFragment extends DialogFragment {
|
|||||||
.create();
|
.create();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final void showChangeLogDialog(FragmentManager fragmentManager) {
|
||||||
|
ChangelogDialogFragment changelogDialogFragment = new ChangelogDialogFragment();
|
||||||
|
FragmentTransaction ft = fragmentManager.beginTransaction();
|
||||||
|
Fragment prev = fragmentManager.findFragmentByTag("changelogdemo_dialog");
|
||||||
|
if (prev != null) {
|
||||||
|
ft.remove(prev);
|
||||||
|
}
|
||||||
|
ft.addToBackStack(null);
|
||||||
|
changelogDialogFragment.show(ft, "changelogdemo_dialog");
|
||||||
|
}
|
||||||
}
|
}
|
@ -17,7 +17,7 @@
|
|||||||
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor;
|
package com.vmihalachi.turboeditor.fragment;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.DialogFragment;
|
import android.app.DialogFragment;
|
||||||
@ -32,18 +32,26 @@ import android.widget.Button;
|
|||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.vmihalachi.turboeditor.R;
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
public class EditTextDialog extends DialogFragment implements TextView.OnEditorActionListener {
|
public class EditDialogFragment extends DialogFragment implements TextView.OnEditorActionListener {
|
||||||
|
|
||||||
private EditText mEditText;
|
EditText mEditText;
|
||||||
|
|
||||||
public static EditTextDialog newInstance(final String hint) {
|
public static EditDialogFragment newInstance(final Actions action) {
|
||||||
final EditTextDialog f = new EditTextDialog();
|
return EditDialogFragment.newInstance(action, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static EditDialogFragment newInstance(final Actions action, final String hint) {
|
||||||
|
final EditDialogFragment f = new EditDialogFragment();
|
||||||
|
|
||||||
// Supply num input as an argument.
|
// Supply num input as an argument.
|
||||||
final Bundle args = new Bundle();
|
final Bundle args = new Bundle();
|
||||||
|
args.putSerializable("action", action);
|
||||||
args.putString("hint", hint);
|
args.putString("hint", hint);
|
||||||
f.setArguments(args);
|
f.setArguments(args);
|
||||||
|
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,7 +60,19 @@ public class EditTextDialog extends DialogFragment implements TextView.OnEditorA
|
|||||||
final Bundle savedInstanceState) {
|
final Bundle savedInstanceState) {
|
||||||
|
|
||||||
final Dialog dialog = getDialog();
|
final Dialog dialog = getDialog();
|
||||||
final String title = getString(R.string.codifica);
|
final Actions action = (Actions) getArguments().getSerializable("action");
|
||||||
|
final String title;
|
||||||
|
switch (action) {
|
||||||
|
case Encoding:
|
||||||
|
title = getString(R.string.codifica);
|
||||||
|
break;
|
||||||
|
case NewLocalFile:
|
||||||
|
title = getString(R.string.new_local_file);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
title = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
dialog.setTitle(title);
|
dialog.setTitle(title);
|
||||||
|
|
||||||
final View view = inflater.inflate(R.layout.dialog_fragment_edittext, container);
|
final View view = inflater.inflate(R.layout.dialog_fragment_edittext, container);
|
||||||
@ -61,8 +81,7 @@ public class EditTextDialog extends DialogFragment implements TextView.OnEditorA
|
|||||||
// Show soft keyboard automatically
|
// Show soft keyboard automatically
|
||||||
this.mEditText.setText(getArguments().getString("hint"));
|
this.mEditText.setText(getArguments().getString("hint"));
|
||||||
this.mEditText.requestFocus();
|
this.mEditText.requestFocus();
|
||||||
dialog.getWindow().setSoftInputMode(
|
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
|
||||||
WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
|
|
||||||
this.mEditText.setOnEditorActionListener(this);
|
this.mEditText.setOnEditorActionListener(this);
|
||||||
|
|
||||||
final Button button = (Button) view.findViewById(android.R.id.button1);
|
final Button button = (Button) view.findViewById(android.R.id.button1);
|
||||||
@ -81,8 +100,8 @@ public class EditTextDialog extends DialogFragment implements TextView.OnEditorA
|
|||||||
if (target == null) {
|
if (target == null) {
|
||||||
target = (EditDialogListener) getActivity();
|
target = (EditDialogListener) getActivity();
|
||||||
}
|
}
|
||||||
target.onFinishEditDialog(this.mEditText.getText().toString(),
|
target.onFinishEditDialog(this.mEditText.getText().toString(), getArguments().getString("hint"),
|
||||||
(Actions) getArguments().getSerializable("action"), getArguments().getString("hint"));
|
(Actions) getArguments().getSerializable("action"));
|
||||||
this.dismiss();
|
this.dismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -96,12 +115,10 @@ public class EditTextDialog extends DialogFragment implements TextView.OnEditorA
|
|||||||
}
|
}
|
||||||
|
|
||||||
public enum Actions {
|
public enum Actions {
|
||||||
NewRemoteFolder, NewRemoteFile, NewLocalFolder, Rename, Move, EditEncoding
|
Encoding, NewLocalFile
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface EditDialogListener {
|
public interface EditDialogListener {
|
||||||
void onFinishEditDialog(String inputText, Actions action, String hint);
|
void onFinishEditDialog(String inputText, String hint, Actions action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -17,12 +17,13 @@
|
|||||||
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor;
|
package com.vmihalachi.turboeditor.fragment;
|
||||||
|
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
@ -47,6 +48,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.vmihalachi.turboeditor.R;
|
||||||
import com.vmihalachi.turboeditor.event.ErrorOpeningFileEvent;
|
import com.vmihalachi.turboeditor.event.ErrorOpeningFileEvent;
|
||||||
import com.vmihalachi.turboeditor.event.FileSavedEvent;
|
import com.vmihalachi.turboeditor.event.FileSavedEvent;
|
||||||
import com.vmihalachi.turboeditor.helper.PixelDipConverter;
|
import com.vmihalachi.turboeditor.helper.PixelDipConverter;
|
||||||
@ -67,7 +69,7 @@ import java.util.regex.Pattern;
|
|||||||
|
|
||||||
import de.greenrobot.event.EventBus;
|
import de.greenrobot.event.EventBus;
|
||||||
|
|
||||||
public class EditorFragment extends Fragment implements EditTextDialog.EditDialogListener{
|
public class EditorFragment extends Fragment implements EditDialogFragment.EditDialogListener {
|
||||||
|
|
||||||
private static final String TAG = "A0A";
|
private static final String TAG = "A0A";
|
||||||
private Editor mEditor;
|
private Editor mEditor;
|
||||||
@ -76,6 +78,7 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
static boolean sWrapText;
|
static boolean sWrapText;
|
||||||
static boolean sColorSyntax;
|
static boolean sColorSyntax;
|
||||||
//
|
//
|
||||||
|
private boolean mUseMonospace;
|
||||||
private String mCurrentEncoding;
|
private String mCurrentEncoding;
|
||||||
private static String sFilePath;
|
private static String sFilePath;
|
||||||
|
|
||||||
@ -88,6 +91,7 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
return frag;
|
return frag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -97,6 +101,7 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -109,6 +114,7 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
return rootView;
|
return rootView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -118,6 +124,7 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
//
|
//
|
||||||
this.sFilePath = getArguments().getString("filePath");
|
this.sFilePath = getArguments().getString("filePath");
|
||||||
this.mCurrentEncoding = PreferenceHelper.getEncoding(getActivity());
|
this.mCurrentEncoding = PreferenceHelper.getEncoding(getActivity());
|
||||||
|
this.mUseMonospace = PreferenceHelper.getUseMonospace(getActivity());
|
||||||
this.sColorSyntax = PreferenceHelper.getSyntaxHiglight(getActivity());
|
this.sColorSyntax = PreferenceHelper.getSyntaxHiglight(getActivity());
|
||||||
this.sWrapText = PreferenceHelper.getWrapText(getActivity());
|
this.sWrapText = PreferenceHelper.getWrapText(getActivity());
|
||||||
String fileName = FilenameUtils.getName(getArguments().getString("filePath"));
|
String fileName = FilenameUtils.getName(getArguments().getString("filePath"));
|
||||||
@ -147,9 +154,11 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
inflater.inflate(R.menu.fragment_editor, menu);
|
inflater.inflate(R.menu.fragment_editor, menu);
|
||||||
menu.findItem(R.id.im_wrap_text).setChecked(this.sWrapText);
|
menu.findItem(R.id.im_wrap_text).setChecked(this.sWrapText);
|
||||||
menu.findItem(R.id.im_syntax_highlight).setChecked(this.sColorSyntax);
|
menu.findItem(R.id.im_syntax_highlight).setChecked(this.sColorSyntax);
|
||||||
|
menu.findItem(R.id.im_use_monospace).setChecked(this.mUseMonospace);
|
||||||
super.onCreateOptionsMenu(menu, inflater);
|
super.onCreateOptionsMenu(menu, inflater);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -174,28 +183,36 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
item.setChecked(!item.isChecked());
|
item.setChecked(!item.isChecked());
|
||||||
PreferenceHelper.setWrapText(getActivity(), item.isChecked());
|
PreferenceHelper.setWrapText(getActivity(), item.isChecked());
|
||||||
updateTextEditor();
|
updateTextEditor();
|
||||||
|
} else if (i == R.id.im_use_monospace) {
|
||||||
|
item.setChecked(!item.isChecked());
|
||||||
|
PreferenceHelper.setUseMonospace(getActivity(), item.isChecked());
|
||||||
|
updateTextEditor();
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showEncodingDialog() {
|
private void showEncodingDialog() {
|
||||||
EditTextDialog dialogFrag = EditTextDialog.newInstance(this.mCurrentEncoding);
|
EditDialogFragment dialogFrag = EditDialogFragment.newInstance(EditDialogFragment.Actions.Encoding, this.mCurrentEncoding);
|
||||||
dialogFrag.setTargetFragment(this, 0);
|
dialogFrag.setTargetFragment(this, 0);
|
||||||
dialogFrag.show(getFragmentManager().beginTransaction(), "encodingDialog");
|
dialogFrag.show(getFragmentManager().beginTransaction(), "encodingDialog");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onFinishEditDialog(final String inputText, final EditTextDialog.Actions action, final String hint) {
|
public void onFinishEditDialog(final String inputText, final String hint, final EditDialogFragment.Actions actions) {
|
||||||
PreferenceHelper.setEncoding(getActivity(), inputText);
|
if(actions == EditDialogFragment.Actions.Encoding){
|
||||||
updateTextEditor();
|
PreferenceHelper.setEncoding(getActivity(), inputText);
|
||||||
|
updateTextEditor();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateTextEditor() {
|
private void updateTextEditor() {
|
||||||
final boolean countLines = PreferenceHelper.getWrapText(getActivity());
|
final boolean countLines = PreferenceHelper.getWrapText(getActivity());
|
||||||
final boolean syntaxHighlight = PreferenceHelper.getSyntaxHiglight(getActivity());
|
final boolean syntaxHighlight = PreferenceHelper.getSyntaxHiglight(getActivity());
|
||||||
|
final boolean useMonospace = PreferenceHelper.getUseMonospace(getActivity());
|
||||||
final String encoding = PreferenceHelper.getEncoding(getActivity());
|
final String encoding = PreferenceHelper.getEncoding(getActivity());
|
||||||
|
|
||||||
if (this.sWrapText != countLines) {
|
if (this.sWrapText != countLines) {
|
||||||
@ -213,6 +230,14 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
this.mEditor.setText(s);
|
this.mEditor.setText(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.mUseMonospace != useMonospace) {
|
||||||
|
this.mUseMonospace = useMonospace;
|
||||||
|
this.mEditor.setTypeface(Typeface.MONOSPACE);
|
||||||
|
//final String s = this.mEditor.getText().toString();
|
||||||
|
//inflateOfWrapText();
|
||||||
|
//this.mEditor.setText(s);
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.mCurrentEncoding.equals(encoding)) {
|
if (!this.mCurrentEncoding.equals(encoding)) {
|
||||||
try {
|
try {
|
||||||
final byte[] oldText = this.mEditor.getText().toString().getBytes(this.mCurrentEncoding);
|
final byte[] oldText = this.mEditor.getText().toString().getBytes(this.mCurrentEncoding);
|
||||||
@ -223,7 +248,7 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void configureEditText(){
|
private void configureEditText() {
|
||||||
this.mEditor.setHorizontallyScrolling(!this.sWrapText);
|
this.mEditor.setHorizontallyScrolling(!this.sWrapText);
|
||||||
if (!this.sWrapText) {
|
if (!this.sWrapText) {
|
||||||
int paddingLeft = (int) PixelDipConverter.convertDpToPixel(25, getActivity());
|
int paddingLeft = (int) PixelDipConverter.convertDpToPixel(25, getActivity());
|
||||||
@ -232,10 +257,16 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
int paddingLeft = (int) PixelDipConverter.convertDpToPixel(5, getActivity());
|
int paddingLeft = (int) PixelDipConverter.convertDpToPixel(5, getActivity());
|
||||||
mEditor.setPadding(paddingLeft, 0, 0, 0);
|
mEditor.setPadding(paddingLeft, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
if(this.mUseMonospace){
|
||||||
|
this.mEditor.setTypeface(Typeface.MONOSPACE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class SaveFile extends AsyncTask<Void, Void, Void> {
|
class SaveFile extends AsyncTask<Void, Void, Void> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected Void doInBackground(final Void... voids) {
|
protected Void doInBackground(final Void... voids) {
|
||||||
try {
|
try {
|
||||||
@ -248,6 +279,9 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(final Void aVoid) {
|
protected void onPostExecute(final Void aVoid) {
|
||||||
super.onPostExecute(aVoid);
|
super.onPostExecute(aVoid);
|
||||||
@ -256,11 +290,10 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static class Editor extends EditText {
|
public static class Editor extends EditText {
|
||||||
|
|
||||||
protected static final int
|
protected static final int
|
||||||
ID_SELECT_ALL =android. R.id.selectAll,
|
ID_SELECT_ALL = android.R.id.selectAll,
|
||||||
ID_CUT = android.R.id.cut,
|
ID_CUT = android.R.id.cut,
|
||||||
ID_COPY = android.R.id.copy,
|
ID_COPY = android.R.id.copy,
|
||||||
ID_PASTE = android.R.id.paste,
|
ID_PASTE = android.R.id.paste,
|
||||||
@ -299,6 +332,9 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
|
|
||||||
private final Runnable updateRunnable =
|
private final Runnable updateRunnable =
|
||||||
new Runnable() {
|
new Runnable() {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
replaceTextKeepCursor(getText());
|
replaceTextKeepCursor(getText());
|
||||||
@ -331,6 +367,9 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
// Syntax editor
|
// Syntax editor
|
||||||
setFilters(new InputFilter[]{
|
setFilters(new InputFilter[]{
|
||||||
new InputFilter() {
|
new InputFilter() {
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public CharSequence filter(
|
public CharSequence filter(
|
||||||
CharSequence source,
|
CharSequence source,
|
||||||
@ -354,6 +393,9 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
}});
|
}});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean onKeyShortcut(
|
public boolean onKeyShortcut(
|
||||||
final int keyCode, final KeyEvent event) {
|
final int keyCode, final KeyEvent event) {
|
||||||
@ -382,6 +424,9 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
return super.onKeyShortcut(keyCode, event);
|
return super.onKeyShortcut(keyCode, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean onTextContextMenuItem(
|
public boolean onTextContextMenuItem(
|
||||||
final int id) {
|
final int id) {
|
||||||
@ -396,6 +441,9 @@ public class EditorFragment extends Fragment implements EditTextDialog.EditDialo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onDraw(final Canvas canvas) {
|
public void onDraw(final Canvas canvas) {
|
||||||
if (!EditorFragment.sWrapText) {
|
if (!EditorFragment.sWrapText) {
|
@ -17,12 +17,10 @@
|
|||||||
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor;
|
package com.vmihalachi.turboeditor.fragment;
|
||||||
|
|
||||||
import android.app.ListFragment;
|
import android.app.ListFragment;
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.PreferenceManager;
|
|
||||||
import android.util.SparseBooleanArray;
|
import android.util.SparseBooleanArray;
|
||||||
import android.view.ActionMode;
|
import android.view.ActionMode;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
@ -35,8 +33,10 @@ import android.widget.AbsListView;
|
|||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
|
|
||||||
|
import com.vmihalachi.turboeditor.R;
|
||||||
import com.vmihalachi.turboeditor.event.FileSelectedEvent;
|
import com.vmihalachi.turboeditor.event.FileSelectedEvent;
|
||||||
import com.vmihalachi.turboeditor.event.NewFileOpened;
|
import com.vmihalachi.turboeditor.event.NewFileOpened;
|
||||||
|
import com.vmihalachi.turboeditor.helper.PreferenceHelper;
|
||||||
|
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
|
|
||||||
@ -48,19 +48,21 @@ import de.greenrobot.event.EventBus;
|
|||||||
|
|
||||||
public class NavigationDrawerListFragment extends ListFragment implements AbsListView.MultiChoiceModeListener {
|
public class NavigationDrawerListFragment extends ListFragment implements AbsListView.MultiChoiceModeListener {
|
||||||
|
|
||||||
List<String> fileNames;
|
private List<String> fileNames;
|
||||||
ArrayAdapter<String> arrayAdapter;
|
private ArrayAdapter<String> arrayAdapter;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
// Out custom layout
|
// Our custom layout
|
||||||
View rootView = inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
|
View rootView = inflater.inflate(R.layout.fragment_navigation_drawer, container, false);
|
||||||
return rootView;
|
return rootView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -70,6 +72,7 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
getListView().setMultiChoiceModeListener(this);
|
getListView().setMultiChoiceModeListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -78,10 +81,11 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
super.onResume();
|
super.onResume();
|
||||||
// Register the Event Bus for events
|
// Register the Event Bus for events
|
||||||
EventBus.getDefault().registerSticky(this);
|
EventBus.getDefault().registerSticky(this);
|
||||||
//
|
// Refresh the list view
|
||||||
refreshList();
|
refreshList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -92,26 +96,22 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
EventBus.getDefault().unregister(this);
|
EventBus.getDefault().unregister(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onListItemClick(ListView l, View v, int position, long id) {
|
public void onListItemClick(ListView l, View v, int position, long id) {
|
||||||
super.onListItemClick(l, v, position, id);
|
super.onListItemClick(l, v, position, id);
|
||||||
// don't open the same file twice
|
|
||||||
//if(this.mCurrentCheckedPosition == position) return;
|
|
||||||
// set current checked position
|
|
||||||
//this.mCurrentCheckedPosition = position;
|
|
||||||
// Shared Preferences
|
|
||||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
|
||||||
// File paths saved in preferences
|
// File paths saved in preferences
|
||||||
String[] savedPaths = sharedPreferences.getString("savedPaths", "").split(",");
|
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||||
// Path of the file selected
|
// Path of the file selected
|
||||||
String filePath = savedPaths[position];
|
String filePath = savedPaths[position];
|
||||||
// Send the event that a file was selected
|
// Send the event that a file was selected
|
||||||
EventBus.getDefault().post(new FileSelectedEvent(filePath));
|
EventBus.getDefault().post(new FileSelectedEvent(filePath));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -119,6 +119,7 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
public void onItemCheckedStateChanged(ActionMode actionMode, int position, long l, boolean isChecked) {
|
public void onItemCheckedStateChanged(ActionMode actionMode, int position, long l, boolean isChecked) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -129,6 +130,7 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -137,6 +139,7 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -144,21 +147,23 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
|
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
|
||||||
switch (menuItem.getItemId()) {
|
switch (menuItem.getItemId()) {
|
||||||
case R.id.im_remove:
|
case R.id.im_remove:
|
||||||
// Shared Preferences
|
|
||||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
|
||||||
// File paths saved in preferences
|
// File paths saved in preferences
|
||||||
String[] savedPaths = sharedPreferences.getString("savedPaths", "").split(",");
|
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||||
//
|
// We get the checked positions
|
||||||
SparseBooleanArray checkedItems = getListView().getCheckedItemPositions();
|
SparseBooleanArray checkedItems = getListView().getCheckedItemPositions();
|
||||||
//
|
// If we have some checked positions
|
||||||
if (checkedItems != null) {
|
if (checkedItems != null) {
|
||||||
for (int i=0; i<checkedItems.size(); i++) {
|
for (int i = 0; i < checkedItems.size(); i++) {
|
||||||
|
// check if the value is checked
|
||||||
if (checkedItems.valueAt(i)) {
|
if (checkedItems.valueAt(i)) {
|
||||||
|
// remove the checked path, but don't refresh the list
|
||||||
removePath(savedPaths[checkedItems.keyAt(i)], false);
|
removePath(savedPaths[checkedItems.keyAt(i)], false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// In the end refresh the list
|
||||||
refreshList();
|
refreshList();
|
||||||
}
|
}
|
||||||
|
// Close the action mode
|
||||||
actionMode.finish();
|
actionMode.finish();
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
@ -166,6 +171,7 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
||||||
@ -178,111 +184,92 @@ public class NavigationDrawerListFragment extends ListFragment implements AbsLis
|
|||||||
/**
|
/**
|
||||||
* When a new file is opened
|
* When a new file is opened
|
||||||
* Invoked by the main activity which receive the intent
|
* Invoked by the main activity which receive the intent
|
||||||
|
*
|
||||||
* @param event The event called
|
* @param event The event called
|
||||||
*/
|
*/
|
||||||
public void onEvent(NewFileOpened event){
|
public void onEvent(NewFileOpened event) {
|
||||||
EventBus.getDefault().removeStickyEvent(event);
|
EventBus.getDefault().removeStickyEvent(event);
|
||||||
// Shared Preferences
|
|
||||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
|
||||||
// File paths saved in preferences
|
// File paths saved in preferences
|
||||||
String[] savedPaths = sharedPreferences.getString("savedPaths", "").split(",");
|
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||||
|
for (int i = 0; i < savedPaths.length; i++) {
|
||||||
for(int i = 0; i < savedPaths.length; i++){
|
// We don't need to save the file path twice
|
||||||
if(savedPaths[i].equals(event.getFilePath())){
|
if (savedPaths[i].equals(event.getFilePath())) {
|
||||||
// Send the event that a file was selected
|
// Send the event that a file was selected
|
||||||
EventBus.getDefault().post(new FileSelectedEvent(event.getFilePath()));
|
EventBus.getDefault().post(new FileSelectedEvent(event.getFilePath()));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Add the path if it wasn't added before
|
||||||
addPath(event.getFilePath());
|
addPath(event.getFilePath());
|
||||||
// Send the event that a file was selected
|
// Send the event that a file was selected
|
||||||
EventBus.getDefault().post(new FileSelectedEvent(event.getFilePath()));
|
EventBus.getDefault().post(new FileSelectedEvent(event.getFilePath()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addPath(String path){
|
private void addPath(String path) {
|
||||||
|
// Add a path and refresh the list
|
||||||
addPath(path, true);
|
addPath(path, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addPath(String path, boolean refresh){
|
private void addPath(String path, boolean refreshTheList) {
|
||||||
// Shared Preferences
|
|
||||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
|
||||||
// Editor
|
|
||||||
SharedPreferences.Editor editor = sharedPreferences.edit();
|
|
||||||
// File paths saved in preferences
|
// File paths saved in preferences
|
||||||
String[] savedPaths = sharedPreferences.getString("savedPaths", "").split(",");
|
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||||
// StringBuilder
|
// StringBuilder
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
// for cycle
|
|
||||||
for (int count = 0; count < savedPaths.length; count++) {
|
for (int count = 0; count < savedPaths.length; count++) {
|
||||||
|
// Append the file path and a comma
|
||||||
sb.append(savedPaths[count]).append(",");
|
sb.append(savedPaths[count]).append(",");
|
||||||
}
|
}
|
||||||
// Append new path
|
// Append new path
|
||||||
sb.append(path);
|
sb.append(path);
|
||||||
// Put the string
|
// Put the string and commit
|
||||||
editor.putString("savedPaths", sb.toString());
|
PreferenceHelper.setSavedPaths(getActivity(), sb);
|
||||||
// Commit
|
|
||||||
editor.commit();
|
|
||||||
// Update list
|
// Update list
|
||||||
//arrayAdapter.add(FilenameUtils.getName(path));
|
if (refreshTheList) {
|
||||||
//arrayAdapter.notifyDataSetChanged();
|
|
||||||
if(refresh){
|
|
||||||
refreshList();
|
refreshList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removePath(String path){
|
private void removePath(String path) {
|
||||||
|
// Remove the path and refresh the list
|
||||||
removePath(path, true);
|
removePath(path, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removePath(String path, boolean refresh){
|
private void removePath(String path, boolean refresh) {
|
||||||
// Shared Preferences
|
|
||||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
|
||||||
// Editor
|
|
||||||
SharedPreferences.Editor editor = sharedPreferences.edit();
|
|
||||||
// File paths saved in preferences
|
// File paths saved in preferences
|
||||||
String[] savedPaths = sharedPreferences.getString("savedPaths", "").split(",");
|
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||||
// StringBuilder
|
// StringBuilder
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
// for cycle
|
// for cycle
|
||||||
for (int count = 0; count < savedPaths.length; count++) {
|
for (int count = 0; count < savedPaths.length; count++) {
|
||||||
if(path.equals(savedPaths[count])) continue;
|
if (path.equals(savedPaths[count])) continue;
|
||||||
sb.append(savedPaths[count]).append(",");
|
sb.append(savedPaths[count]).append(",");
|
||||||
}
|
}
|
||||||
// Put the string
|
// Put the string and commit
|
||||||
editor.putString("savedPaths", sb.toString());
|
PreferenceHelper.setSavedPaths(getActivity(), sb);
|
||||||
// Commit
|
|
||||||
editor.commit();
|
|
||||||
// Update list
|
// Update list
|
||||||
//arrayAdapter.remove(FilenameUtils.getName(path));
|
if (refresh) {
|
||||||
//arrayAdapter.notifyDataSetChanged();
|
|
||||||
if(refresh){
|
|
||||||
refreshList();
|
refreshList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* package */ void refreshList(){
|
private void refreshList() {
|
||||||
// Shared Preferences
|
|
||||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
|
|
||||||
// File paths saved in preferences
|
// File paths saved in preferences
|
||||||
String[] savedPaths = sharedPreferences.getString("savedPaths", "").split(",");
|
String[] savedPaths = PreferenceHelper.getSavedPaths(getActivity());
|
||||||
// File names for the list
|
// File names for the list
|
||||||
fileNames = new ArrayList<String>(savedPaths.length);
|
fileNames = new ArrayList<String>(savedPaths.length);
|
||||||
//
|
// StringBuilder that will contain the file paths
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
// for cycle to convert paths to names
|
// for cycle to convert paths to names
|
||||||
for(String path : savedPaths){
|
for (String path : savedPaths) {
|
||||||
|
File file = new File(path);
|
||||||
if(!path.isEmpty()){
|
// Check that the file exist
|
||||||
File file = new File(path);
|
if (file.exists()) {
|
||||||
if(file.exists()){
|
fileNames.add(FilenameUtils.getName(path));
|
||||||
fileNames.add(FilenameUtils.getName(path));
|
sb.append(path).append(",");
|
||||||
sb.append(path).append(",");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// save list without empty or non existed files
|
// save list without empty or non existed files
|
||||||
sharedPreferences.edit().putString("savedPaths", sb.toString()).commit();
|
PreferenceHelper.setSavedPaths(getActivity(), sb);
|
||||||
// Adapter
|
// Adapter
|
||||||
arrayAdapter = new ArrayAdapter<String>(getActivity(), R.layout.item_drawer_list, fileNames);
|
arrayAdapter = new ArrayAdapter<String>(getActivity(), R.layout.item_drawer_list, fileNames);
|
||||||
// Set adapter
|
// Set adapter
|
@ -17,7 +17,7 @@
|
|||||||
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
* along with Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor;
|
package com.vmihalachi.turboeditor.fragment;
|
||||||
|
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@ -25,11 +25,11 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
/**
|
import com.vmihalachi.turboeditor.R;
|
||||||
* Created by Vlad on 9/23/13.
|
|
||||||
*/
|
|
||||||
public class NoFileOpenedFragment extends Fragment {
|
public class NoFileOpenedFragment extends Fragment {
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritDoc}
|
* {@inheritDoc}
|
||||||
*/
|
*/
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.vmihalachi.turboeditor.helper;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.pm.ApplicationInfo;
|
||||||
|
import android.content.pm.PackageInfo;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
|
||||||
|
public class AppInfoHelper {
|
||||||
|
public static String getApplicationName(final Context context) {
|
||||||
|
final ApplicationInfo applicationInfo = context.getApplicationInfo();
|
||||||
|
return context.getString(applicationInfo.labelRes);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getCurrentVersion(final Context context) {
|
||||||
|
try {
|
||||||
|
final PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(),
|
||||||
|
0);
|
||||||
|
return packageInfo.versionName;
|
||||||
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,49 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 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 Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor.helper;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class FileHelper {
|
|
||||||
/**
|
|
||||||
* Get the extension of a file
|
|
||||||
* @param f the file
|
|
||||||
* @return the extension of a file
|
|
||||||
*/
|
|
||||||
public static String getExtension(File f) {
|
|
||||||
return getExtension(f.getAbsolutePath());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the extension from a file path
|
|
||||||
* @param path the path
|
|
||||||
* @return the extension from a file path
|
|
||||||
*/
|
|
||||||
public static String getExtension(String path) {
|
|
||||||
String ext = null;
|
|
||||||
String s = path;
|
|
||||||
int i = s.lastIndexOf('.');
|
|
||||||
|
|
||||||
if (i > 0 && i < s.length() - 1) {
|
|
||||||
ext = s.substring(i+1).toLowerCase();
|
|
||||||
}
|
|
||||||
return ext;
|
|
||||||
}
|
|
||||||
}
|
|
@ -21,16 +21,18 @@ package com.vmihalachi.turboeditor.helper;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.Environment;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
|
||||||
public final class PreferenceHelper {
|
public final class PreferenceHelper {
|
||||||
|
|
||||||
|
private static final String SD_CARD_ROOT = Environment.getExternalStorageDirectory().getAbsolutePath();
|
||||||
|
|
||||||
private PreferenceHelper() {
|
private PreferenceHelper() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Getter Methods
|
||||||
* Getter Methods
|
|
||||||
*/
|
|
||||||
public static SharedPreferences getPrefs(Context context) {
|
public static SharedPreferences getPrefs(Context context) {
|
||||||
return PreferenceManager.getDefaultSharedPreferences(context);
|
return PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
}
|
}
|
||||||
@ -39,6 +41,10 @@ public final class PreferenceHelper {
|
|||||||
return getPrefs(context).edit();
|
return getPrefs(context).edit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean getUseMonospace(Context context) {
|
||||||
|
return getPrefs(context).getBoolean("use_monospace", false);
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean getWrapText(Context context) {
|
public static boolean getWrapText(Context context) {
|
||||||
return getPrefs(context).getBoolean("editor_wrap_text", true);
|
return getPrefs(context).getBoolean("editor_wrap_text", true);
|
||||||
}
|
}
|
||||||
@ -50,9 +56,20 @@ public final class PreferenceHelper {
|
|||||||
public static String getEncoding(Context context) {
|
public static String getEncoding(Context context) {
|
||||||
return getPrefs(context).getString("editor_encoding", "UTF-8");
|
return getPrefs(context).getString("editor_encoding", "UTF-8");
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* Setter Methods
|
public static String getLastNavigatedFolder(Context context) {
|
||||||
*/
|
return getPrefs(context).getString("last_navigated_folder", SD_CARD_ROOT);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String[] getSavedPaths(Context context) {
|
||||||
|
return getPrefs(context).getString("savedPaths", "").split(",");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setter methods
|
||||||
|
|
||||||
|
public static void setUseMonospace(Context context, boolean value) {
|
||||||
|
getEditor(context).putBoolean("use_monospace", value).commit();
|
||||||
|
}
|
||||||
|
|
||||||
public static void setWrapText(Context context, boolean value) {
|
public static void setWrapText(Context context, boolean value) {
|
||||||
getEditor(context).putBoolean("editor_wrap_text", value).commit();
|
getEditor(context).putBoolean("editor_wrap_text", value).commit();
|
||||||
@ -65,4 +82,12 @@ public final class PreferenceHelper {
|
|||||||
public static void setEncoding(Context context, String value) {
|
public static void setEncoding(Context context, String value) {
|
||||||
getEditor(context).putString("editor_encoding", value).commit();
|
getEditor(context).putString("editor_encoding", value).commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setLastNavigatedFolder(Context context, String value) {
|
||||||
|
getEditor(context).putString("last_navigated_folder", value).commit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setSavedPaths(Context context, StringBuilder stringBuilder) {
|
||||||
|
getEditor(context).putString("savedPaths", stringBuilder.toString()).commit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,3 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 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 Turbo Editor. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.vmihalachi.turboeditor.util;/*
|
package com.vmihalachi.turboeditor.util;/*
|
||||||
* The Alphanum Algorithm is an improved sorting algorithm for strings
|
* The Alphanum Algorithm is an improved sorting algorithm for strings
|
||||||
* containing numbers. Instead of sorting numbers in ASCII order like
|
* containing numbers. Instead of sorting numbers in ASCII order like
|
||||||
|
@ -21,126 +21,24 @@ package com.vmihalachi.turboeditor.util;
|
|||||||
|
|
||||||
public class MimeTypes {
|
public class MimeTypes {
|
||||||
public static final String[] MIME_TEXT = {
|
public static final String[] MIME_TEXT = {
|
||||||
"ajx",
|
"ajx", "am", "asa", "asc", "asp", "aspx", "awk", "bat", "c", "cdf", "cf", "cfg", "cfm", "cgi", "cnf", "conf", "cpp", "css", "csv", "ctl", "dat", "dhtml", "diz", "file", "forward", "grp", "h", "hpp", "hqx", "hta", "htaccess", "htc", "htm", "html", "htpasswd", "htt", "htx", "in", "inc", "info", "ini", "ink", "java", "js", "jsp", "key", "log", "logfile", "m3u", "m4", "m4a", "mak", "map", "model", "msg", "nfo", "nsi", "info", "old", "pas", "patch", "perl", "php", "php2", "php3", "php4", "php5", "php6", "phtml", "pix", "pl", "pm", "po", "pwd", "py", "qmail", "rb", "rbl", "rbw", "readme", "reg", "rss", "rtf", "ruby", "session", "setup", "sh", "shtm", "shtml", "sql", "ssh", "stm", "style", "svg", "tcl", "text", "threads", "tmpl", "tpl", "txt", "ubb", "vbs", "xhtml", "xml", "xrc", "xsl"
|
||||||
"am",
|
};
|
||||||
"asa",
|
public static final String[] MIME_CODE = {
|
||||||
"asc",
|
"xml", "php", "asp", "json", "wiki"
|
||||||
"asp",
|
};
|
||||||
"aspx",
|
public static final String[] MIME_HTML = {
|
||||||
"awk",
|
"htm"
|
||||||
"bat",
|
};
|
||||||
"c",
|
public static final String[] MIME_PICTURE = {
|
||||||
"cdf",
|
"png", "jpeg", "jpg", "ico", "gif", "bmp", "tiff"
|
||||||
"cf",
|
};
|
||||||
"cfg",
|
public static final String[] MIME_MUSIC = {
|
||||||
"cfm",
|
"mp3", "avi", "flac", "mpga"
|
||||||
"cgi",
|
};
|
||||||
"cnf",
|
public static final String[] MIME_VIDEO = {
|
||||||
"conf",
|
"mp4", "mkv", "wmw"
|
||||||
"cpp",
|
|
||||||
"css",
|
|
||||||
"csv",
|
|
||||||
"ctl",
|
|
||||||
"dat",
|
|
||||||
"dhtml",
|
|
||||||
"diz",
|
|
||||||
"file",
|
|
||||||
"forward",
|
|
||||||
"grp",
|
|
||||||
"h",
|
|
||||||
"hpp",
|
|
||||||
"hqx",
|
|
||||||
"hta",
|
|
||||||
"htaccess",
|
|
||||||
"htc",
|
|
||||||
"htm",
|
|
||||||
"html",
|
|
||||||
"htpasswd",
|
|
||||||
"htt",
|
|
||||||
"htx",
|
|
||||||
"in",
|
|
||||||
"inc",
|
|
||||||
"info",
|
|
||||||
"ini",
|
|
||||||
"ink",
|
|
||||||
"java",
|
|
||||||
"js",
|
|
||||||
"jsp",
|
|
||||||
"key",
|
|
||||||
"log",
|
|
||||||
"logfile",
|
|
||||||
"m3u",
|
|
||||||
"m4",
|
|
||||||
"m4a",
|
|
||||||
"mak",
|
|
||||||
"map",
|
|
||||||
"model",
|
|
||||||
"msg",
|
|
||||||
"nfo",
|
|
||||||
"nsi",
|
|
||||||
"info",
|
|
||||||
"old",
|
|
||||||
"pas",
|
|
||||||
"patch",
|
|
||||||
"perl",
|
|
||||||
"php",
|
|
||||||
"php2",
|
|
||||||
"php3",
|
|
||||||
"php4",
|
|
||||||
"php5",
|
|
||||||
"php6",
|
|
||||||
"phtml",
|
|
||||||
"pix",
|
|
||||||
"pl",
|
|
||||||
"pm",
|
|
||||||
"po",
|
|
||||||
"pwd",
|
|
||||||
"py",
|
|
||||||
"qmail",
|
|
||||||
"rb",
|
|
||||||
"rbl",
|
|
||||||
"rbw",
|
|
||||||
"readme",
|
|
||||||
"reg",
|
|
||||||
"rss",
|
|
||||||
"rtf",
|
|
||||||
"ruby",
|
|
||||||
"session",
|
|
||||||
"setup",
|
|
||||||
"sh",
|
|
||||||
"shtm",
|
|
||||||
"shtml",
|
|
||||||
"sql",
|
|
||||||
"ssh",
|
|
||||||
"stm",
|
|
||||||
"style",
|
|
||||||
"svg",
|
|
||||||
"tcl",
|
|
||||||
"text",
|
|
||||||
"threads",
|
|
||||||
"tmpl",
|
|
||||||
"tpl",
|
|
||||||
"txt",
|
|
||||||
"ubb",
|
|
||||||
"vbs",
|
|
||||||
"xhtml",
|
|
||||||
"xml",
|
|
||||||
"xrc",
|
|
||||||
"xsl"};
|
|
||||||
public static final String[] MIME_CODE =
|
|
||||||
{"xml", "php", "asp", "json", "wiki"};
|
|
||||||
public static final String[] MIME_HTML =
|
|
||||||
{"htm"};
|
|
||||||
public static final String[] MIME_PICTURE = {
|
|
||||||
"png", "jpeg", "jpg", "ico", "gif", "bmp",
|
|
||||||
"tiff"
|
|
||||||
};
|
};
|
||||||
public static final String[] MIME_MUSIC =
|
|
||||||
{"mp3", "avi", "flac", "mpga"};
|
|
||||||
public static final String[] MIME_VIDEO =
|
|
||||||
{"mp4", "mkv", "wmw"};
|
|
||||||
public static final String[] MIME_ARCHIVE = {
|
public static final String[] MIME_ARCHIVE = {
|
||||||
"zip", "tar", "gz", "bz2", "rar", "7z"
|
"zip", "tar", "gz", "bz2", "rar", "7z"
|
||||||
};
|
};
|
||||||
public static String[] USER_MIME_TEXT;
|
|
||||||
}
|
}
|
||||||
|
@ -37,6 +37,9 @@ public class CapitalizedTextView extends TextView {
|
|||||||
super(context, attrs, defStyle);
|
super(context, attrs, defStyle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void setText(final CharSequence text, final BufferType type) {
|
public void setText(final CharSequence text, final BufferType type) {
|
||||||
super.setText(text.toString().toUpperCase(), type);
|
super.setText(text.toString().toUpperCase(), type);
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
<android.support.v4.widget.DrawerLayout
|
<android.support.v4.widget.DrawerLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@id/drawer_layout"
|
android:id="@id/drawer_layout"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
@ -31,9 +32,10 @@
|
|||||||
|
|
||||||
<fragment android:layout_width="@dimen/navigation_drawer_width"
|
<fragment android:layout_width="@dimen/navigation_drawer_width"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:name="com.vmihalachi.turboeditor.NavigationDrawerListFragment"
|
android:name="com.vmihalachi.turboeditor.fragment.NavigationDrawerListFragment"
|
||||||
android:id="@id/drawer_list"
|
android:id="@id/drawer_list"
|
||||||
android:layout_gravity="left"/>
|
android:layout_gravity="left"
|
||||||
|
tools:layout="@layout/fragment_navigation_drawer" />
|
||||||
|
|
||||||
|
|
||||||
</android.support.v4.widget.DrawerLayout>
|
</android.support.v4.widget.DrawerLayout>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
android:fillViewport="true">
|
android:fillViewport="true">
|
||||||
|
|
||||||
<view
|
<view
|
||||||
class="com.vmihalachi.turboeditor.EditorFragment$Editor"
|
class="com.vmihalachi.turboeditor.fragment.EditorFragment$Editor"
|
||||||
android:id="@id/editor"
|
android:id="@id/editor"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
@ -33,6 +33,13 @@
|
|||||||
android:choiceMode="multipleChoiceModal"
|
android:choiceMode="multipleChoiceModal"
|
||||||
android:cacheColorHint="@android:color/transparent"/>
|
android:cacheColorHint="@android:color/transparent"/>
|
||||||
|
|
||||||
<include android:id="@android:id/empty"
|
<TextView
|
||||||
layout="@layout/fragment_no_file_open"/>
|
android:id="@android:id/empty"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textSize="@dimen/text_size_mega_title"
|
||||||
|
android:fontFamily="sans-serif-light"
|
||||||
|
android:text="@string/recent_files"
|
||||||
|
android:textColor="@android:color/secondary_text_dark"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -25,4 +25,4 @@
|
|||||||
android:textSize="@dimen/text_size_mega_title"
|
android:textSize="@dimen/text_size_mega_title"
|
||||||
android:fontFamily="sans-serif-light"
|
android:fontFamily="sans-serif-light"
|
||||||
android:text="@string/open_a_file"
|
android:text="@string/open_a_file"
|
||||||
android:clickable="true" />
|
android:textColor="@android:color/secondary_text_dark"/>
|
||||||
|
@ -19,6 +19,10 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item
|
||||||
|
android:id="@id/im_new_file"
|
||||||
|
android:title="@string/new_local_file"
|
||||||
|
android:showAsAction="ifRoom|withText"/>
|
||||||
<item
|
<item
|
||||||
android:id="@id/im_button"
|
android:id="@id/im_button"
|
||||||
android:showAsAction="ifRoom|withText"/>
|
android:showAsAction="ifRoom|withText"/>
|
||||||
|
@ -54,6 +54,11 @@
|
|||||||
android:showAsAction="ifRoom"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_syntax_highlight"
|
android:title="@string/menu_syntax_highlight"
|
||||||
android:checkable="true"/>
|
android:checkable="true"/>
|
||||||
|
<item
|
||||||
|
android:id="@id/im_use_monospace"
|
||||||
|
android:showAsAction="ifRoom"
|
||||||
|
android:title="@string/use_monospace"
|
||||||
|
android:checkable="true"/>
|
||||||
</menu>
|
</menu>
|
||||||
</item>
|
</item>
|
||||||
</menu>
|
</menu>
|
||||||
|
22
Turbo Editor/src/main/res/raw/changelog.xml
Normal file
22
Turbo Editor/src/main/res/raw/changelog.xml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<changelog bulletedList="true">
|
||||||
|
|
||||||
|
<changelogversion versionName="1.1" changeDate="Oct 6, 2013">
|
||||||
|
<changelogtext>Now you can create new files (open -> create new file)</changelogtext>
|
||||||
|
<changelogtext>Added the monospace font (choose it in the preferences)</changelogtext>
|
||||||
|
</changelogversion>
|
||||||
|
|
||||||
|
<changelogversion versionName="1.0" changeDate="Sep 28, 2013">
|
||||||
|
<changelogtext>Released on the Play Store</changelogtext>
|
||||||
|
<changelogtext>Improved the about page</changelogtext>
|
||||||
|
</changelogversion>
|
||||||
|
|
||||||
|
<changelogversion versionName="0.2" changeDate="Sep 25, 2013">
|
||||||
|
<changelogtext>Keyboard now closes when you save a file</changelogtext>
|
||||||
|
<changelogtext>Fixed some issues when launching the app</changelogtext>
|
||||||
|
</changelogversion>
|
||||||
|
|
||||||
|
<changelogversion versionName="0.1" changeDate="Sep 24, 2013">
|
||||||
|
<changelogtext>First release</changelogtext>
|
||||||
|
</changelogversion>
|
||||||
|
</changelog>
|
@ -114,4 +114,9 @@
|
|||||||
<string name="show_navigation_breadcrumb">Show navigation breadcrumb</string>
|
<string name="show_navigation_breadcrumb">Show navigation breadcrumb</string>
|
||||||
<string name="open_a_file">Datei öffnen</string>
|
<string name="open_a_file">Datei öffnen</string>
|
||||||
<string name="open_this_time_only">Nur dieses Mal öffnen</string>
|
<string name="open_this_time_only">Nur dieses Mal öffnen</string>
|
||||||
|
<string name="advise_editor_title">Are you missing Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">Der beste freie und Open Source Dateieditor!</string>
|
||||||
|
<string name="change_list_type">Change the list type</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -114,4 +114,9 @@
|
|||||||
<string name="show_navigation_breadcrumb">Εμφάνιση βοηθού πλοήγησης</string>
|
<string name="show_navigation_breadcrumb">Εμφάνιση βοηθού πλοήγησης</string>
|
||||||
<string name="open_a_file">Άνοιγμα αρχείου</string>
|
<string name="open_a_file">Άνοιγμα αρχείου</string>
|
||||||
<string name="open_this_time_only">Open this time only</string>
|
<string name="open_this_time_only">Open this time only</string>
|
||||||
|
<string name="advise_editor_title">Are you missing Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">The best free and open source file editor!</string>
|
||||||
|
<string name="change_list_type">Change the list type</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
122
Turbo Editor/src/main/res/values-fr-rFR/strings.xml
Normal file
122
Turbo Editor/src/main/res/values-fr-rFR/strings.xml
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--Generated by crowdin.net-->
|
||||||
|
<resources>
|
||||||
|
<string name="aggiungi_account">Nouveau compte</string>
|
||||||
|
<string name="attiva">Actif</string>
|
||||||
|
<string name="cancella">Supprimer</string>
|
||||||
|
<string name="cancellazione">Suppression des fichiers…</string>
|
||||||
|
<string name="caricamento">Chargement…</string>
|
||||||
|
<string name="cartella_locale_corrente">Dossier local actuel</string>
|
||||||
|
<string name="chiave_privata">Clé privée</string>
|
||||||
|
<string name="chiaro">Clair</string>
|
||||||
|
<string name="codifica">Encodage</string>
|
||||||
|
<string name="condividi">Partager</string>
|
||||||
|
<string name="crea_cartella_locale">Nouveau dossier local</string>
|
||||||
|
<string name="crea_cartella_remota">Nouveau dossier distant</string>
|
||||||
|
<string name="disconneti">Déconnecter</string>
|
||||||
|
<string name="default_local_folder">Dossier local par défaut</string>
|
||||||
|
<string name="dove_scaricare">Où télécharger?</string>
|
||||||
|
<string name="download">Télécharger</string>
|
||||||
|
<string name="download_completato">Téléchargement terminé</string>
|
||||||
|
<string name="duplicate">Dupliquer</string>
|
||||||
|
<string name="fatto">Terminé</string>
|
||||||
|
<string name="home">Accueil</string>
|
||||||
|
<string name="host">Hôte</string>
|
||||||
|
<string name="info">Informations</string>
|
||||||
|
<string name="locale">Local</string>
|
||||||
|
<string name="log_in">Connexion en cours…</string>
|
||||||
|
<string name="modifica">Modifier</string>
|
||||||
|
<string name="muovi">Déplacer</string>
|
||||||
|
<string name="nascondi">Masquer</string>
|
||||||
|
<string name="nome_app">Turbo Client</string>
|
||||||
|
<string name="nome_app_turbo_editor">Turbo Editor</string>
|
||||||
|
<string name="nome_utente">Nom dߣutilisateur</string>
|
||||||
|
<string name="passiva">Passif</string>
|
||||||
|
<string name="passphrase">passphrase</string>
|
||||||
|
<string name="password">Mot de passe</string>
|
||||||
|
<string name="password_summary">Laisser vide pour le renseigner à chaque fois</string>
|
||||||
|
<string name="porta">Port</string>
|
||||||
|
<string name="preferenze">Préférences</string>
|
||||||
|
<string name="remoto">Distant</string>
|
||||||
|
<string name="riavva_per_tema">Pour modifier le thème, redémarrer l\'application</string>
|
||||||
|
<string name="rinomina">Renommer</string>
|
||||||
|
<string name="root">Dossier</string>
|
||||||
|
<string name="salva">Sauver</string>
|
||||||
|
<string name="scuro">Sombre</string>
|
||||||
|
<string name="seleziona">Sélectionner</string>
|
||||||
|
<string name="seleziona_account">Sélectionner un compte</string>
|
||||||
|
<string name="sicuro">Êtes-vous sûr ?</string>
|
||||||
|
<string name="something_failed">Quelque chose n\'a pas fonctionné</string>
|
||||||
|
<string name="skip_same_file">Ne pas télécharger un fichier identique</string>
|
||||||
|
<string name="tema_app">Thème de lߣapplication</string>
|
||||||
|
<string name="tipo_connessione">Type de connexion</string>
|
||||||
|
<string name="tipo_protocollo">Type de protocole</string>
|
||||||
|
<string name="un_altra_cartella">Autre dossier</string>
|
||||||
|
<string name="use_passphrase">Utiliser une passphrase</string>
|
||||||
|
<string name="upload">Envoi</string>
|
||||||
|
<string name="upload_completato">Téléchargement terminé</string>
|
||||||
|
<string name="what_to_do">Que voulez-vous faire?</string>
|
||||||
|
<string name="wrap_the_text">Retour à la ligne</string>
|
||||||
|
<string name="menu_syntax_highlight">Coloration syntaxique</string>
|
||||||
|
<string name="testo_indietro">Annuler</string>
|
||||||
|
<string name="testo_rifai">Rétablir</string>
|
||||||
|
<string name="sync">Synchronisation</string>
|
||||||
|
<string name="remote_folder_to_sync">Dossier distant à synchroniser</string>
|
||||||
|
<string name="local_folder_to_sync">Dossier local à synchroniser</string>
|
||||||
|
<string name="vota">Noter</string>
|
||||||
|
<string name="inapp_unavailable">Impossible de contacter Google Play</string>
|
||||||
|
<string name="inapp_description">Soutenir le développement d\'autres super fonctionnalités.</string>
|
||||||
|
<string name="upgrade_premium">Mise à niveau vers Premium</string>
|
||||||
|
<string name="upgrade_premium_summary">Mise à niveau vers Premium et aide au développement de Turbo Client!</string>
|
||||||
|
<string name="download_unlocked_version">Télécharger la version déverrouillée</string>
|
||||||
|
<string name="inapp_second_description">Quelle est la valeur Turbo Client pour vous? Fixez votre prix!</string>
|
||||||
|
<string name="inapp_first_description">Mettre à niveau pour débloquer ces fonctionnalités:</string>
|
||||||
|
<string name="inapp_item_openandeditfiles">Bouton Power pour ouvrir et modifier n\'importe quel type de fichier.</string>
|
||||||
|
<string name="inapp_item_backup_service">Service sécurisé de sauvegarde et restauration des données.</string>
|
||||||
|
<string name="inapp_unlock_features">Déverrouiller les fonctionnalités Premium</string>
|
||||||
|
<string name="inapp_seconditem_description">J\'aime vraiment cette application!</string>
|
||||||
|
<string name="inapp_thirditem_description">J\'adore cette application!</string>
|
||||||
|
<string name="backup_accounts">Sauvegarder les comptes</string>
|
||||||
|
<string name="restore_accounts">Restauration des comptes</string>
|
||||||
|
<string name="share_accounts">Sauvegarder et partager les comptes</string>
|
||||||
|
<string name="importing_accounts">Importation des comptes…</string>
|
||||||
|
<string name="exporting_accounts">Exportation des comptes...</string>
|
||||||
|
<string name="backup_not_found">Pas de sauvegardes trouvées</string>
|
||||||
|
<string name="err_cant_open_the_file">Impossible d\'ouvrir le fichier</string>
|
||||||
|
<string name="err_temp_folder_doesnt_exist">Le dossier temporaire n\'existe pas</string>
|
||||||
|
<string name="err_occured">Une erreur est survenue</string>
|
||||||
|
<string name="ui_ux">Aspect</string>
|
||||||
|
<string name="folder">Dossier </string>
|
||||||
|
<string name="remove">Supprimer</string>
|
||||||
|
<string name="modification_date">Date de modification</string>
|
||||||
|
<string name="name">Nom</string>
|
||||||
|
<string name="size">Taille</string>
|
||||||
|
<string name="sort">Triller</string>
|
||||||
|
<string name="open">Ouvrir</string>
|
||||||
|
<string name="file_modified">Le fichier %1$s a été modifié, souhaitez-vous le télécharger?</string>
|
||||||
|
<string name="file_saved_with_success">Le fichier %1$s a été enregistré avec succès!</string>
|
||||||
|
<string name="number_of_things_selected">%1$d sélectionné</string>
|
||||||
|
<string name="crea_file_remoto">Nouveau fichier distant</string>
|
||||||
|
<string name="new_local_file">Nouveau fichier local</string>
|
||||||
|
<string name="create_new_account">Créer un nouveau compte</string>
|
||||||
|
<string name="create_new_account_to_start">Créer un nouveau compte pour commencer.</string>
|
||||||
|
<string name="type">Type</string>
|
||||||
|
<string name="send_feedback">Envoyez vos commentaires</string>
|
||||||
|
<string name="copy_url">Copier l\'URL</string>
|
||||||
|
<string name="cut">Couper</string>
|
||||||
|
<string name="paste">coller</string>
|
||||||
|
<string name="advanced">Avancées</string>
|
||||||
|
<string name="auto">Automatique</string>
|
||||||
|
<string name="bytes">Octets</string>
|
||||||
|
<string name="unit_measurement_for_file_size">Unité de mesure de la taille des fichiers</string>
|
||||||
|
<string name="open_source_license">Licences Open Source</string>
|
||||||
|
<string name="open_source_license_summary">Voir les licences Open Source</string>
|
||||||
|
<string name="show_navigation_breadcrumb">Voir l\'historique de navigation</string>
|
||||||
|
<string name="open_a_file">Ouvrir un fichier</string>
|
||||||
|
<string name="open_this_time_only">Ouvrir cette fois-ci seulement</string>
|
||||||
|
<string name="advise_editor_title">Turbo Editor vous manque?</string>
|
||||||
|
<string name="advise_editor_subtitle">Le meilleur éditeur de fichiers gratuit et open source !</string>
|
||||||
|
<string name="change_list_type">Modifier le type de liste</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
|
</resources>
|
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--Generated by crowdin.net-->
|
||||||
|
<resources>
|
||||||
|
<string name="aboutactivity_info_category">Informations</string>
|
||||||
|
<string name="aboutactivity_app_category">Informations sur l\'application</string>
|
||||||
|
<string name="aboutactivity_miscellaneous_category">Divers</string>
|
||||||
|
<string name="aboutactivity_version">Version %1$s</string>
|
||||||
|
<string name="aboutactivity_author">Auteur</string>
|
||||||
|
<string name="aboutactivity_authorsite">Site de l\'auteur</string>
|
||||||
|
<string name="aboutactivity_authorsite_summary">Voir le site de l\'auteur</string>
|
||||||
|
<string name="aboutactivity_authoremail">Courrier de l\'auteur</string>
|
||||||
|
<string name="aboutactivity_authoremail_summary">Envoyer un mail à l\'auteur</string>
|
||||||
|
<string name="aboutactivity_authortwitter">Twitter</string>
|
||||||
|
<string name="aboutactivity_authortwitter_summary">Voir la page Twitter</string>
|
||||||
|
<string name="aboutactivity_authorgoogleplus">Google+</string>
|
||||||
|
<string name="aboutactivity_authorgoogleplus_summary">Voir la page Google+</string>
|
||||||
|
<string name="aboutactivity_betatester">Devenir un bêta-testeur</string>
|
||||||
|
<string name="aboutactivity_betatester_summary">Faire partie de la communauté pour recevoir des mises à jour bêta</string>
|
||||||
|
<string name="aboutactivity_helptranslate">Traduire l\'Application</string>
|
||||||
|
<string name="aboutactivity_helptranslate_summary">Corriger certaines erreurs ou ajouter une nouvelle traduction</string>
|
||||||
|
<string name="aboutactivity_readme">Lisez-moi</string>
|
||||||
|
<string name="aboutactivity_readme_summary">Lire le manuel</string>
|
||||||
|
<string name="aboutactivity_faq">Questions Fréquentes</string>
|
||||||
|
<string name="aboutactivity_faq_summary">Voir les questions fréquentes</string>
|
||||||
|
<string name="aboutactivity_changelog">Historique des changements</string>
|
||||||
|
<string name="aboutactivity_changelog_summary">Voir l\'historique des changements</string>
|
||||||
|
<string name="aboutactivity_license">Conditions d’utilisation</string>
|
||||||
|
<string name="aboutactivity_license_summary">Lire les conditions d\'utilisation</string>
|
||||||
|
<string name="aboutactivity_license_accept">Accepter</string>
|
||||||
|
<string name="aboutactivity_license_refuse">Refuser</string>
|
||||||
|
<string name="aboutactivity_privacy">Politique de confidentialité</string>
|
||||||
|
<string name="aboutactivity_privacy_summary">Lire la politique de confidentialité</string>
|
||||||
|
<string name="aboutactivity_todo">Liste des améliorations à apporter</string>
|
||||||
|
<string name="aboutactivity_todo_summary">Lire a liste des améliorations à apporter</string>
|
||||||
|
<string name="aboutactivity_donate">Faire un don</string>
|
||||||
|
<string name="aboutactivity_donate_summary">Merci de me soutenir!</string>
|
||||||
|
<string name="aboutactivity_market">Play Store</string>
|
||||||
|
<string name="aboutactivity_market_summary">Envoyer vos commentaires et notez-le!</string>
|
||||||
|
<string name="aboutactivity_authormarket">Boutique de l\'auteur</string>
|
||||||
|
<string name="aboutactivity_authormarket_summary">Voir les autres applications de l\'auteur!</string>
|
||||||
|
</resources>
|
@ -112,6 +112,11 @@
|
|||||||
<string name="open_source_license">Licenze Open Source</string>
|
<string name="open_source_license">Licenze Open Source</string>
|
||||||
<string name="open_source_license_summary">Visualizza licenze open source</string>
|
<string name="open_source_license_summary">Visualizza licenze open source</string>
|
||||||
<string name="show_navigation_breadcrumb">Visualizza navigazione breadcrumb</string>
|
<string name="show_navigation_breadcrumb">Visualizza navigazione breadcrumb</string>
|
||||||
<string name="open_a_file">Apri come file</string>
|
<string name="open_a_file">Apri un file</string>
|
||||||
<string name="open_this_time_only">Apri solo questa volta</string>
|
<string name="open_this_time_only">Apri solo questa volta</string>
|
||||||
|
<string name="advise_editor_title">Ti manca Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">Il miglor editor di testi open source!</string>
|
||||||
|
<string name="change_list_type">Cambia il tipo di lista</string>
|
||||||
|
<string name="use_monospace">Monospace</string>
|
||||||
|
<string name="recent_files">File recenti</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -114,4 +114,9 @@
|
|||||||
<string name="show_navigation_breadcrumb">Show navigation breadcrumb</string>
|
<string name="show_navigation_breadcrumb">Show navigation breadcrumb</string>
|
||||||
<string name="open_a_file">Open a file</string>
|
<string name="open_a_file">Open a file</string>
|
||||||
<string name="open_this_time_only">Open this time only</string>
|
<string name="open_this_time_only">Open this time only</string>
|
||||||
|
<string name="advise_editor_title">Are you missing Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">The best free and open source file editor!</string>
|
||||||
|
<string name="change_list_type">Change the list type</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -114,4 +114,9 @@
|
|||||||
<string name="show_navigation_breadcrumb">Toon navigatie breadcrumb</string>
|
<string name="show_navigation_breadcrumb">Toon navigatie breadcrumb</string>
|
||||||
<string name="open_a_file">Open een bestand</string>
|
<string name="open_a_file">Open een bestand</string>
|
||||||
<string name="open_this_time_only">Alleen deze keer openen</string>
|
<string name="open_this_time_only">Alleen deze keer openen</string>
|
||||||
|
<string name="advise_editor_title">Waar is Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">De beste gratis en open source file editor!</string>
|
||||||
|
<string name="change_list_type">Wijzig het type lijst</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -57,7 +57,7 @@
|
|||||||
<string name="upload_completato">Przesyłanie zakończone</string>
|
<string name="upload_completato">Przesyłanie zakończone</string>
|
||||||
<string name="what_to_do">Co chcesz zrobić?</string>
|
<string name="what_to_do">Co chcesz zrobić?</string>
|
||||||
<string name="wrap_the_text">Zawijanie wyrazów</string>
|
<string name="wrap_the_text">Zawijanie wyrazów</string>
|
||||||
<string name="menu_syntax_highlight">Syntax highlight</string>
|
<string name="menu_syntax_highlight">Podświetlenie składni</string>
|
||||||
<string name="testo_indietro">Cofnij</string>
|
<string name="testo_indietro">Cofnij</string>
|
||||||
<string name="testo_rifai">Powtórz</string>
|
<string name="testo_rifai">Powtórz</string>
|
||||||
<string name="sync">Synchronizuj</string>
|
<string name="sync">Synchronizuj</string>
|
||||||
@ -65,14 +65,14 @@
|
|||||||
<string name="local_folder_to_sync">Synchronizuj folder lokalny</string>
|
<string name="local_folder_to_sync">Synchronizuj folder lokalny</string>
|
||||||
<string name="vota">Oceń</string>
|
<string name="vota">Oceń</string>
|
||||||
<string name="inapp_unavailable">Nie można połączyć się z Google Play</string>
|
<string name="inapp_unavailable">Nie można połączyć się z Google Play</string>
|
||||||
<string name="inapp_description">Support the development of other great features.</string>
|
<string name="inapp_description">Wesprzyj rozwój innych świetnych funkcji.</string>
|
||||||
<string name="upgrade_premium">Zaktualizuj do wersji Premium</string>
|
<string name="upgrade_premium">Zaktualizuj do wersji Premium</string>
|
||||||
<string name="upgrade_premium_summary">Zaktualizuj do wersji Premium i wspieraj rozwój klienta Turbo!</string>
|
<string name="upgrade_premium_summary">Zaktualizuj do wersji Premium i wspieraj rozwój klienta Turbo!</string>
|
||||||
<string name="download_unlocked_version">Pobierz odblokowaną wersję</string>
|
<string name="download_unlocked_version">Pobierz odblokowaną wersję</string>
|
||||||
<string name="inapp_second_description">Jak oceniasz Turbo Client\'a? Wystaw ocenę! </string>
|
<string name="inapp_second_description">Jak oceniasz Turbo Client\'a? Wystaw ocenę! </string>
|
||||||
<string name="inapp_first_description">Zaktualizuj, aby odblokować te funkcje:</string>
|
<string name="inapp_first_description">Zaktualizuj, aby odblokować te funkcje:</string>
|
||||||
<string name="inapp_item_openandeditfiles">Uprawnienia do otwierania i modyfikowania dowolnego typu pliku.</string>
|
<string name="inapp_item_openandeditfiles">Uprawnienia do otwierania i modyfikowania dowolnego typu pliku.</string>
|
||||||
<string name="inapp_item_backup_service">Backup service to backup and restore your data safely. </string>
|
<string name="inapp_item_backup_service">Usługa kopii zapasowej do bezpiecznego tworzenia i przywracania kopii Twoich danych. </string>
|
||||||
<string name="inapp_unlock_features">Odblokuj funkcje Premium</string>
|
<string name="inapp_unlock_features">Odblokuj funkcje Premium</string>
|
||||||
<string name="inapp_seconditem_description">Bardzo podoba mi się ta aplikacja!</string>
|
<string name="inapp_seconditem_description">Bardzo podoba mi się ta aplikacja!</string>
|
||||||
<string name="inapp_thirditem_description">Kocham tę aplikację!</string>
|
<string name="inapp_thirditem_description">Kocham tę aplikację!</string>
|
||||||
@ -93,9 +93,9 @@
|
|||||||
<string name="size">Rozmiar</string>
|
<string name="size">Rozmiar</string>
|
||||||
<string name="sort">Sortuj</string>
|
<string name="sort">Sortuj</string>
|
||||||
<string name="open">Otwórz</string>
|
<string name="open">Otwórz</string>
|
||||||
<string name="file_modified">The file %1$s was modified, do you want to upload it?</string>
|
<string name="file_modified">Plik %1$s został zmodyfikowany, czy chcesz go wysłać?</string>
|
||||||
<string name="file_saved_with_success">The file %1$s was saved with success!</string>
|
<string name="file_saved_with_success">Plik %1$s został pomyślnie zapisany!</string>
|
||||||
<string name="number_of_things_selected">%1$d selected</string>
|
<string name="number_of_things_selected">%1$d wybranych</string>
|
||||||
<string name="crea_file_remoto">Nowy plik zdalny</string>
|
<string name="crea_file_remoto">Nowy plik zdalny</string>
|
||||||
<string name="new_local_file">Nowy plik lokalny</string>
|
<string name="new_local_file">Nowy plik lokalny</string>
|
||||||
<string name="create_new_account">Utwórz nowe konto</string>
|
<string name="create_new_account">Utwórz nowe konto</string>
|
||||||
@ -103,15 +103,20 @@
|
|||||||
<string name="type">Typ</string>
|
<string name="type">Typ</string>
|
||||||
<string name="send_feedback">Prześlij sugestię</string>
|
<string name="send_feedback">Prześlij sugestię</string>
|
||||||
<string name="copy_url">Kopiuj adres URL</string>
|
<string name="copy_url">Kopiuj adres URL</string>
|
||||||
<string name="cut">wytnij</string>
|
<string name="cut">Wytnij</string>
|
||||||
<string name="paste">wklej</string>
|
<string name="paste">wklej</string>
|
||||||
<string name="advanced">Zaawansowane</string>
|
<string name="advanced">Zaawansowane</string>
|
||||||
<string name="auto">Automatyczna</string>
|
<string name="auto">Automatyczna</string>
|
||||||
<string name="bytes">Bajty</string>
|
<string name="bytes">Bajty</string>
|
||||||
<string name="unit_measurement_for_file_size">Jednostka miary dla rozmiaru pliku</string>
|
<string name="unit_measurement_for_file_size">Jednostka rozmiaru dla pliku</string>
|
||||||
<string name="open_source_license">Licencje Open Source</string>
|
<string name="open_source_license">Licencje Open Source</string>
|
||||||
<string name="open_source_license_summary">Pokaż licencje open source</string>
|
<string name="open_source_license_summary">Pokaż licencje open source</string>
|
||||||
<string name="show_navigation_breadcrumb">Show navigation breadcrumb</string>
|
<string name="show_navigation_breadcrumb">Pokaż ścieżkę folderu nadrzędnego</string>
|
||||||
<string name="open_a_file">Otwórz plik</string>
|
<string name="open_a_file">Otwórz plik</string>
|
||||||
<string name="open_this_time_only">Open this time only</string>
|
<string name="open_this_time_only">Otwórz tylko tym razem</string>
|
||||||
|
<string name="advise_editor_title">Brakuje ci Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">Najlepszy, darmowy edytor plików na bazie open source!</string>
|
||||||
|
<string name="change_list_type">Zmień typ listy</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
<string name="aboutactivity_helptranslate">Tłumaczenie aplikacji</string>
|
<string name="aboutactivity_helptranslate">Tłumaczenie aplikacji</string>
|
||||||
<string name="aboutactivity_helptranslate_summary">Popraw pewne błędy lub dodaj nowe tłumaczenie</string>
|
<string name="aboutactivity_helptranslate_summary">Popraw pewne błędy lub dodaj nowe tłumaczenie</string>
|
||||||
<string name="aboutactivity_readme">Read Me</string>
|
<string name="aboutactivity_readme">Read Me</string>
|
||||||
<string name="aboutactivity_readme_summary">Read the reference</string>
|
<string name="aboutactivity_readme_summary">Przeczytaj opinie</string>
|
||||||
<string name="aboutactivity_faq">FAQ</string>
|
<string name="aboutactivity_faq">FAQ</string>
|
||||||
<string name="aboutactivity_faq_summary">Pokaż FAQ aplikacji</string>
|
<string name="aboutactivity_faq_summary">Pokaż FAQ aplikacji</string>
|
||||||
<string name="aboutactivity_changelog">Lista zmian</string>
|
<string name="aboutactivity_changelog">Lista zmian</string>
|
||||||
|
122
Turbo Editor/src/main/res/values-pt-rBR/strings.xml
Normal file
122
Turbo Editor/src/main/res/values-pt-rBR/strings.xml
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--Generated by crowdin.net-->
|
||||||
|
<resources>
|
||||||
|
<string name="aggiungi_account">Nova conta</string>
|
||||||
|
<string name="attiva">Ativo</string>
|
||||||
|
<string name="cancella">Deletar</string>
|
||||||
|
<string name="cancellazione">Deletando arquivos…</string>
|
||||||
|
<string name="caricamento">Carregando…</string>
|
||||||
|
<string name="cartella_locale_corrente">Pasta local atual</string>
|
||||||
|
<string name="chiave_privata">Chave Privada</string>
|
||||||
|
<string name="chiaro">Claro</string>
|
||||||
|
<string name="codifica">Codificação</string>
|
||||||
|
<string name="condividi">Compartilhar</string>
|
||||||
|
<string name="crea_cartella_locale">New local folder</string>
|
||||||
|
<string name="crea_cartella_remota">New remote folder</string>
|
||||||
|
<string name="disconneti">Desconectar</string>
|
||||||
|
<string name="default_local_folder">Pasta local padrão</string>
|
||||||
|
<string name="dove_scaricare">Onde baixar?</string>
|
||||||
|
<string name="download">Baixar</string>
|
||||||
|
<string name="download_completato">Download concluído</string>
|
||||||
|
<string name="duplicate">Duplicar</string>
|
||||||
|
<string name="fatto">Feito</string>
|
||||||
|
<string name="home">Início</string>
|
||||||
|
<string name="host">Host</string>
|
||||||
|
<string name="info">Info</string>
|
||||||
|
<string name="locale">Local</string>
|
||||||
|
<string name="log_in">Logando…</string>
|
||||||
|
<string name="modifica">Edit</string>
|
||||||
|
<string name="muovi">Mover</string>
|
||||||
|
<string name="nascondi">Hide</string>
|
||||||
|
<string name="nome_app">Turbo Client</string>
|
||||||
|
<string name="nome_app_turbo_editor">Turbo Editor</string>
|
||||||
|
<string name="nome_utente">Usuário</string>
|
||||||
|
<string name="passiva">Passivo</string>
|
||||||
|
<string name="passphrase">Passphrase</string>
|
||||||
|
<string name="password">Senha</string>
|
||||||
|
<string name="password_summary">Leave it empty to prompt for it every session</string>
|
||||||
|
<string name="porta">Porta</string>
|
||||||
|
<string name="preferenze">Preferências</string>
|
||||||
|
<string name="remoto">Remote</string>
|
||||||
|
<string name="riavva_per_tema">To change the theme, restart the application</string>
|
||||||
|
<string name="rinomina">Renomear</string>
|
||||||
|
<string name="root">Root</string>
|
||||||
|
<string name="salva">Salvar</string>
|
||||||
|
<string name="scuro">Escuro</string>
|
||||||
|
<string name="seleziona">Selecionar</string>
|
||||||
|
<string name="seleziona_account">Selecione uma conta</string>
|
||||||
|
<string name="sicuro">Você tem certeza?</string>
|
||||||
|
<string name="something_failed">Something failed</string>
|
||||||
|
<string name="skip_same_file">Do not transfer same file</string>
|
||||||
|
<string name="tema_app">Tema</string>
|
||||||
|
<string name="tipo_connessione">Tipo de conexão</string>
|
||||||
|
<string name="tipo_protocollo">Protocolo</string>
|
||||||
|
<string name="un_altra_cartella">Outra pasta</string>
|
||||||
|
<string name="use_passphrase">Use a passphrase</string>
|
||||||
|
<string name="upload">Upload</string>
|
||||||
|
<string name="upload_completato">Upload concluído</string>
|
||||||
|
<string name="what_to_do">What do you want todo?</string>
|
||||||
|
<string name="wrap_the_text">Quebra de linha</string>
|
||||||
|
<string name="menu_syntax_highlight">Syntax highlight</string>
|
||||||
|
<string name="testo_indietro">Desfazer</string>
|
||||||
|
<string name="testo_rifai">Refazer</string>
|
||||||
|
<string name="sync">Sincronizar</string>
|
||||||
|
<string name="remote_folder_to_sync">Pasta remota para sincronizar</string>
|
||||||
|
<string name="local_folder_to_sync">Pasta local para sincronizar</string>
|
||||||
|
<string name="vota">Avaliar</string>
|
||||||
|
<string name="inapp_unavailable">Cannot contact Google Play</string>
|
||||||
|
<string name="inapp_description">Support the development of other great features.</string>
|
||||||
|
<string name="upgrade_premium">Upgrade to Premium</string>
|
||||||
|
<string name="upgrade_premium_summary">Upgrade to Premium and support the development of Turbo Client!</string>
|
||||||
|
<string name="download_unlocked_version">Download unlocked version</string>
|
||||||
|
<string name="inapp_second_description">What is Turbo Client worth to you? Set your price! </string>
|
||||||
|
<string name="inapp_first_description">Upgrade to unlock this features:</string>
|
||||||
|
<string name="inapp_item_openandeditfiles">Power to open and modify any type of file.</string>
|
||||||
|
<string name="inapp_item_backup_service">Backup service to backup and restore your data safely. </string>
|
||||||
|
<string name="inapp_unlock_features">Unlock the Premium features</string>
|
||||||
|
<string name="inapp_seconditem_description">I really like this app!</string>
|
||||||
|
<string name="inapp_thirditem_description">I love this app!</string>
|
||||||
|
<string name="backup_accounts">Backup the accounts</string>
|
||||||
|
<string name="restore_accounts">Restore the accounts</string>
|
||||||
|
<string name="share_accounts">Backup and share the accounts</string>
|
||||||
|
<string name="importing_accounts">Importing the accounts…</string>
|
||||||
|
<string name="exporting_accounts">Exporting the accounts...</string>
|
||||||
|
<string name="backup_not_found">No backups found</string>
|
||||||
|
<string name="err_cant_open_the_file">Cannot open the file</string>
|
||||||
|
<string name="err_temp_folder_doesnt_exist">Temporary folder does not exist</string>
|
||||||
|
<string name="err_occured">An error occurred</string>
|
||||||
|
<string name="ui_ux">Ui</string>
|
||||||
|
<string name="folder">Folder</string>
|
||||||
|
<string name="remove">Remove</string>
|
||||||
|
<string name="modification_date">Modification date</string>
|
||||||
|
<string name="name">Name</string>
|
||||||
|
<string name="size">Size</string>
|
||||||
|
<string name="sort">Sort</string>
|
||||||
|
<string name="open">Open</string>
|
||||||
|
<string name="file_modified">The file %1$s was modified, do you want to upload it?</string>
|
||||||
|
<string name="file_saved_with_success">The file %1$s was saved with success!</string>
|
||||||
|
<string name="number_of_things_selected">%1$d selected</string>
|
||||||
|
<string name="crea_file_remoto">New remote file</string>
|
||||||
|
<string name="new_local_file">New local file</string>
|
||||||
|
<string name="create_new_account">Create a new account</string>
|
||||||
|
<string name="create_new_account_to_start">Create a new account to start.</string>
|
||||||
|
<string name="type">Type</string>
|
||||||
|
<string name="send_feedback">Send feedback</string>
|
||||||
|
<string name="copy_url">Copy URL</string>
|
||||||
|
<string name="cut">Cut</string>
|
||||||
|
<string name="paste">paste</string>
|
||||||
|
<string name="advanced">Advanced</string>
|
||||||
|
<string name="auto">Auto</string>
|
||||||
|
<string name="bytes">Bytes</string>
|
||||||
|
<string name="unit_measurement_for_file_size">Unit of measurement for file size</string>
|
||||||
|
<string name="open_source_license">Open Source licenses</string>
|
||||||
|
<string name="open_source_license_summary">Show open source licenses</string>
|
||||||
|
<string name="show_navigation_breadcrumb">Show navigation breadcrumb</string>
|
||||||
|
<string name="open_a_file">Open a file</string>
|
||||||
|
<string name="open_this_time_only">Open this time only</string>
|
||||||
|
<string name="advise_editor_title">Are you missing Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">The best free and open source file editor!</string>
|
||||||
|
<string name="change_list_type">Change the list type</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
|
</resources>
|
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--Generated by crowdin.net-->
|
||||||
|
<resources>
|
||||||
|
<string name="aboutactivity_info_category">Info</string>
|
||||||
|
<string name="aboutactivity_app_category">Application Info</string>
|
||||||
|
<string name="aboutactivity_miscellaneous_category">Miscellaneous</string>
|
||||||
|
<string name="aboutactivity_version">Version %1$s</string>
|
||||||
|
<string name="aboutactivity_author">Author</string>
|
||||||
|
<string name="aboutactivity_authorsite">Author site</string>
|
||||||
|
<string name="aboutactivity_authorsite_summary">Show author site</string>
|
||||||
|
<string name="aboutactivity_authoremail">Author mail</string>
|
||||||
|
<string name="aboutactivity_authoremail_summary">Send mail to author</string>
|
||||||
|
<string name="aboutactivity_authortwitter">Twitter</string>
|
||||||
|
<string name="aboutactivity_authortwitter_summary">Show twitter page</string>
|
||||||
|
<string name="aboutactivity_authorgoogleplus">Google Plus</string>
|
||||||
|
<string name="aboutactivity_authorgoogleplus_summary">Show Google Plus page</string>
|
||||||
|
<string name="aboutactivity_betatester">Become a beta tester</string>
|
||||||
|
<string name="aboutactivity_betatester_summary">Be a part of the community to receive beta updates</string>
|
||||||
|
<string name="aboutactivity_helptranslate">Translate the Application</string>
|
||||||
|
<string name="aboutactivity_helptranslate_summary">Correct some mistakes or add a new translation</string>
|
||||||
|
<string name="aboutactivity_readme">Read Me</string>
|
||||||
|
<string name="aboutactivity_readme_summary">Read the reference</string>
|
||||||
|
<string name="aboutactivity_faq">FAQ</string>
|
||||||
|
<string name="aboutactivity_faq_summary">Show app faq</string>
|
||||||
|
<string name="aboutactivity_changelog">ChangeLog</string>
|
||||||
|
<string name="aboutactivity_changelog_summary">Show app changelog</string>
|
||||||
|
<string name="aboutactivity_license">Terms of service</string>
|
||||||
|
<string name="aboutactivity_license_summary">Read the Terms of service</string>
|
||||||
|
<string name="aboutactivity_license_accept">Accept</string>
|
||||||
|
<string name="aboutactivity_license_refuse">Refuse</string>
|
||||||
|
<string name="aboutactivity_privacy">Privacy policy</string>
|
||||||
|
<string name="aboutactivity_privacy_summary">Read the Privacy policy</string>
|
||||||
|
<string name="aboutactivity_todo">ToDo List</string>
|
||||||
|
<string name="aboutactivity_todo_summary">Read the todo list</string>
|
||||||
|
<string name="aboutactivity_donate">Make a donation</string>
|
||||||
|
<string name="aboutactivity_donate_summary">Thank you for supporting me!</string>
|
||||||
|
<string name="aboutactivity_market">Play Store</string>
|
||||||
|
<string name="aboutactivity_market_summary">Send feedback and rate it!</string>
|
||||||
|
<string name="aboutactivity_authormarket">Author Store</string>
|
||||||
|
<string name="aboutactivity_authormarket_summary">Show author applications!</string>
|
||||||
|
</resources>
|
122
Turbo Editor/src/main/res/values-ru-rRU/strings.xml
Normal file
122
Turbo Editor/src/main/res/values-ru-rRU/strings.xml
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--Generated by crowdin.net-->
|
||||||
|
<resources>
|
||||||
|
<string name="aggiungi_account">Новый аккаунт</string>
|
||||||
|
<string name="attiva">Действие</string>
|
||||||
|
<string name="cancella">Удалить</string>
|
||||||
|
<string name="cancellazione">Удалить файлы</string>
|
||||||
|
<string name="caricamento">Загрузка</string>
|
||||||
|
<string name="cartella_locale_corrente">локальная папка поумолчанию</string>
|
||||||
|
<string name="chiave_privata">Закрытый ключ</string>
|
||||||
|
<string name="chiaro">Светлая</string>
|
||||||
|
<string name="codifica">Кодировка</string>
|
||||||
|
<string name="condividi">Share</string>
|
||||||
|
<string name="crea_cartella_locale">Новая локальная папка</string>
|
||||||
|
<string name="crea_cartella_remota">Новая папка на сервере</string>
|
||||||
|
<string name="disconneti">Отключиться</string>
|
||||||
|
<string name="default_local_folder">локальный каталог по умолчанию</string>
|
||||||
|
<string name="dove_scaricare">Where to download?</string>
|
||||||
|
<string name="download">Скачать</string>
|
||||||
|
<string name="download_completato">Загрузка завершена</string>
|
||||||
|
<string name="duplicate">Duplicate</string>
|
||||||
|
<string name="fatto">Готово</string>
|
||||||
|
<string name="home">Home</string>
|
||||||
|
<string name="host">Хост</string>
|
||||||
|
<string name="info">Информация</string>
|
||||||
|
<string name="locale">Локальный</string>
|
||||||
|
<string name="log_in">Логин в</string>
|
||||||
|
<string name="modifica">Редактировать</string>
|
||||||
|
<string name="muovi">Переместить</string>
|
||||||
|
<string name="nascondi">Скрыть</string>
|
||||||
|
<string name="nome_app">Turbo Client</string>
|
||||||
|
<string name="nome_app_turbo_editor">Turbo Editor</string>
|
||||||
|
<string name="nome_utente">Логин</string>
|
||||||
|
<string name="passiva">Пассивный</string>
|
||||||
|
<string name="passphrase">Подсказка</string>
|
||||||
|
<string name="password">Пароль</string>
|
||||||
|
<string name="password_summary">Leave it empty to prompt for it every session</string>
|
||||||
|
<string name="porta">Порт</string>
|
||||||
|
<string name="preferenze">Настройки</string>
|
||||||
|
<string name="remoto">Удаленный</string>
|
||||||
|
<string name="riavva_per_tema">Для смены темы нужен перезапуск приложения</string>
|
||||||
|
<string name="rinomina">Переименовать</string>
|
||||||
|
<string name="root">Удаленный каталог поумолчанию</string>
|
||||||
|
<string name="salva">Сохранить</string>
|
||||||
|
<string name="scuro">Темный</string>
|
||||||
|
<string name="seleziona">Выбор</string>
|
||||||
|
<string name="seleziona_account">Выбор аккаунта</string>
|
||||||
|
<string name="sicuro">Вы уверены?</string>
|
||||||
|
<string name="something_failed">Что-то пошло не так</string>
|
||||||
|
<string name="skip_same_file">Do not transfer same file</string>
|
||||||
|
<string name="tema_app">Тема</string>
|
||||||
|
<string name="tipo_connessione">Тип соединения</string>
|
||||||
|
<string name="tipo_protocollo">Тип протокола</string>
|
||||||
|
<string name="un_altra_cartella">Другая папка</string>
|
||||||
|
<string name="use_passphrase">Использовать подсказку</string>
|
||||||
|
<string name="upload">Закачка</string>
|
||||||
|
<string name="upload_completato">Загрузка завершена</string>
|
||||||
|
<string name="what_to_do">What do you want todo?</string>
|
||||||
|
<string name="wrap_the_text">Перенос строк</string>
|
||||||
|
<string name="menu_syntax_highlight">Подсветка синтаксиса</string>
|
||||||
|
<string name="testo_indietro">Отменить</string>
|
||||||
|
<string name="testo_rifai">Повторить</string>
|
||||||
|
<string name="sync">Синхронизация</string>
|
||||||
|
<string name="remote_folder_to_sync">Удаленный каталог для синхронизации</string>
|
||||||
|
<string name="local_folder_to_sync">Локальный каталог для синхронизации</string>
|
||||||
|
<string name="vota">Рейтинг</string>
|
||||||
|
<string name="inapp_unavailable">Cannot contact Google Play</string>
|
||||||
|
<string name="inapp_description">Support the development of other great features.</string>
|
||||||
|
<string name="upgrade_premium">апгрейд до премиума</string>
|
||||||
|
<string name="upgrade_premium_summary">Upgrade to Premium and support the development of Turbo Client!</string>
|
||||||
|
<string name="download_unlocked_version">Download unlocked version</string>
|
||||||
|
<string name="inapp_second_description">What is Turbo Client worth to you? Set your price! </string>
|
||||||
|
<string name="inapp_first_description">Upgrade to unlock this features:</string>
|
||||||
|
<string name="inapp_item_openandeditfiles">Power to open and modify any type of file.</string>
|
||||||
|
<string name="inapp_item_backup_service">Backup service to backup and restore your data safely. </string>
|
||||||
|
<string name="inapp_unlock_features">Разблокировать премиум функции</string>
|
||||||
|
<string name="inapp_seconditem_description">I really like this app!</string>
|
||||||
|
<string name="inapp_thirditem_description">I love this app!</string>
|
||||||
|
<string name="backup_accounts">Сохранить аккаунт</string>
|
||||||
|
<string name="restore_accounts">Восстановить аккаунт</string>
|
||||||
|
<string name="share_accounts">Backup and share the accounts</string>
|
||||||
|
<string name="importing_accounts">Importing the accounts…</string>
|
||||||
|
<string name="exporting_accounts">Exporting the accounts...</string>
|
||||||
|
<string name="backup_not_found">Резервные копии не найдены</string>
|
||||||
|
<string name="err_cant_open_the_file">Не удается открыть файл</string>
|
||||||
|
<string name="err_temp_folder_doesnt_exist">Временная папка не существует</string>
|
||||||
|
<string name="err_occured">Произошла ошибка</string>
|
||||||
|
<string name="ui_ux">Ui</string>
|
||||||
|
<string name="folder">Каталог</string>
|
||||||
|
<string name="remove">Удалить</string>
|
||||||
|
<string name="modification_date">дата изменения</string>
|
||||||
|
<string name="name">имя</string>
|
||||||
|
<string name="size">размер</string>
|
||||||
|
<string name="sort">сортировка</string>
|
||||||
|
<string name="open">открыть</string>
|
||||||
|
<string name="file_modified">Файл %1$s был изменен, загрузить на сервер?</string>
|
||||||
|
<string name="file_saved_with_success">Файл %1$s успешно сохранен!</string>
|
||||||
|
<string name="number_of_things_selected">%1$d выделено</string>
|
||||||
|
<string name="crea_file_remoto">Новый файл на сервере</string>
|
||||||
|
<string name="new_local_file">Новый локальный файл</string>
|
||||||
|
<string name="create_new_account">Создать новый аккаунт</string>
|
||||||
|
<string name="create_new_account_to_start">Создайте новый аккаунт для начала работы.</string>
|
||||||
|
<string name="type">Тип</string>
|
||||||
|
<string name="send_feedback">Оставить отзыв</string>
|
||||||
|
<string name="copy_url">Копировать URL-адрес</string>
|
||||||
|
<string name="cut">Вырезать</string>
|
||||||
|
<string name="paste">Вставить</string>
|
||||||
|
<string name="advanced">Расширенные</string>
|
||||||
|
<string name="auto">Авто</string>
|
||||||
|
<string name="bytes">Байт</string>
|
||||||
|
<string name="unit_measurement_for_file_size">Единица измерения размера файла</string>
|
||||||
|
<string name="open_source_license">Open Source licenses</string>
|
||||||
|
<string name="open_source_license_summary">Show open source licenses</string>
|
||||||
|
<string name="show_navigation_breadcrumb">Показывать цепочку навигации</string>
|
||||||
|
<string name="open_a_file">Открыть файл</string>
|
||||||
|
<string name="open_this_time_only">Open this time only</string>
|
||||||
|
<string name="advise_editor_title">Are you missing Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">The best free and open source file editor!</string>
|
||||||
|
<string name="change_list_type">Внешний вид списка</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
|
</resources>
|
@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--Generated by crowdin.net-->
|
||||||
|
<resources>
|
||||||
|
<string name="aboutactivity_info_category">Информация</string>
|
||||||
|
<string name="aboutactivity_app_category">О приложении</string>
|
||||||
|
<string name="aboutactivity_miscellaneous_category">Прочее</string>
|
||||||
|
<string name="aboutactivity_version">Версия %1$s</string>
|
||||||
|
<string name="aboutactivity_author">Автор</string>
|
||||||
|
<string name="aboutactivity_authorsite">Сайт автора</string>
|
||||||
|
<string name="aboutactivity_authorsite_summary">Открыть сайт автора</string>
|
||||||
|
<string name="aboutactivity_authoremail">Почта автора</string>
|
||||||
|
<string name="aboutactivity_authoremail_summary">Отправить письмо автору</string>
|
||||||
|
<string name="aboutactivity_authortwitter">Twitter</string>
|
||||||
|
<string name="aboutactivity_authortwitter_summary">Открыть станицу в twitter</string>
|
||||||
|
<string name="aboutactivity_authorgoogleplus">Google Plus</string>
|
||||||
|
<string name="aboutactivity_authorgoogleplus_summary">Открыть страницу в Google Plus</string>
|
||||||
|
<string name="aboutactivity_betatester">Стать beta-тестером</string>
|
||||||
|
<string name="aboutactivity_betatester_summary">Стать частью сообщества, чтобы получать beta-обновления</string>
|
||||||
|
<string name="aboutactivity_helptranslate">Перевести приложение</string>
|
||||||
|
<string name="aboutactivity_helptranslate_summary">Исправить ошибки или добавить новый перевод</string>
|
||||||
|
<string name="aboutactivity_readme">Read Me</string>
|
||||||
|
<string name="aboutactivity_readme_summary">Читать справочную информацию</string>
|
||||||
|
<string name="aboutactivity_faq">FAQ</string>
|
||||||
|
<string name="aboutactivity_faq_summary">Показать часто задаваемые вопросы</string>
|
||||||
|
<string name="aboutactivity_changelog">История изменений</string>
|
||||||
|
<string name="aboutactivity_changelog_summary">Показать историю изменений</string>
|
||||||
|
<string name="aboutactivity_license">Пользовательское соглашение</string>
|
||||||
|
<string name="aboutactivity_license_summary">Прочитать пользовательское соглашение</string>
|
||||||
|
<string name="aboutactivity_license_accept">Принять</string>
|
||||||
|
<string name="aboutactivity_license_refuse">Отклонить</string>
|
||||||
|
<string name="aboutactivity_privacy">Политика конфиденциальности</string>
|
||||||
|
<string name="aboutactivity_privacy_summary">Ознакомьтесь с политикой конфиденциальности</string>
|
||||||
|
<string name="aboutactivity_todo">Список ToDo</string>
|
||||||
|
<string name="aboutactivity_todo_summary">Посмотреть, что планируется реализовать</string>
|
||||||
|
<string name="aboutactivity_donate">Сделать пожертвование</string>
|
||||||
|
<string name="aboutactivity_donate_summary">Спасибо за поддержку!</string>
|
||||||
|
<string name="aboutactivity_market">Play Store</string>
|
||||||
|
<string name="aboutactivity_market_summary">Оставить отзыв и оценить!</string>
|
||||||
|
<string name="aboutactivity_authormarket">Автор в Google Play</string>
|
||||||
|
<string name="aboutactivity_authormarket_summary">Другие приложения автора!</string>
|
||||||
|
</resources>
|
@ -20,4 +20,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<!-- Customize dimensions originally defined in res/values/dimens.xml (such as
|
<!-- Customize dimensions originally defined in res/values/dimens.xml (such as
|
||||||
screen margins) for sw600dp devices (e.g. 7" tablets) here. -->
|
screen margins) for sw600dp devices (e.g. 7" tablets) here. -->
|
||||||
|
<dimen name="navigation_drawer_width">320dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
|
8
Turbo Editor/src/main/res/values/arrays.xml
Normal file
8
Turbo Editor/src/main/res/values/arrays.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string-array name="open_source_libs">
|
||||||
|
<item>ChangeLog Library</item>
|
||||||
|
<item>EventBus</item>
|
||||||
|
<item>commons-io</item>
|
||||||
|
</string-array>
|
||||||
|
</resources>
|
@ -30,6 +30,8 @@
|
|||||||
<item type="id" name="im_editor_encoding"/>
|
<item type="id" name="im_editor_encoding"/>
|
||||||
<item type="id" name="im_wrap_text"/>
|
<item type="id" name="im_wrap_text"/>
|
||||||
<item type="id" name="im_syntax_highlight"/>
|
<item type="id" name="im_syntax_highlight"/>
|
||||||
|
<item type="id" name="im_use_monospace"/>
|
||||||
|
<item type="id" name="im_new_file"/>
|
||||||
<!-- layout item ids -->
|
<!-- layout item ids -->
|
||||||
<item type="id" name="drawer_layout"/>
|
<item type="id" name="drawer_layout"/>
|
||||||
<item type="id" name="fragment_editor"/>
|
<item type="id" name="fragment_editor"/>
|
||||||
|
@ -1,117 +1,122 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!--Generated by crowdin.net-->
|
<!--Generated by crowdin.net-->
|
||||||
<resources>
|
<resources>
|
||||||
<string name="aggiungi_account">New account</string>
|
<string name="aggiungi_account">New account</string>
|
||||||
<string name="attiva">Active</string>
|
<string name="attiva">Active</string>
|
||||||
<string name="cancella">Delete</string>
|
<string name="cancella">Delete</string>
|
||||||
<string name="cancellazione">Deleting files…</string>
|
<string name="cancellazione">Deleting files…</string>
|
||||||
<string name="caricamento">Loading…</string>
|
<string name="caricamento">Loading…</string>
|
||||||
<string name="cartella_locale_corrente">Current local folder</string>
|
<string name="cartella_locale_corrente">Current local folder</string>
|
||||||
<string name="chiave_privata">Private Key</string>
|
<string name="chiave_privata">Private Key</string>
|
||||||
<string name="chiaro">Light</string>
|
<string name="chiaro">Light</string>
|
||||||
<string name="codifica">Encoding</string>
|
<string name="codifica">Encoding</string>
|
||||||
<string name="condividi">Share</string>
|
<string name="condividi">Share</string>
|
||||||
<string name="crea_cartella_locale">New local folder</string>
|
<string name="crea_cartella_locale">New local folder</string>
|
||||||
<string name="crea_cartella_remota">New remote folder</string>
|
<string name="crea_cartella_remota">New remote folder</string>
|
||||||
<string name="disconneti">Disconnect</string>
|
<string name="disconneti">Disconnect</string>
|
||||||
<string name="default_local_folder">Default local folder</string>
|
<string name="default_local_folder">Default local folder</string>
|
||||||
<string name="dove_scaricare">Where to download?</string>
|
<string name="dove_scaricare">Where to download?</string>
|
||||||
<string name="download">Download</string>
|
<string name="download">Download</string>
|
||||||
<string name="download_completato">Download completed</string>
|
<string name="download_completato">Download completed</string>
|
||||||
<string name="duplicate">Duplicate</string>
|
<string name="duplicate">Duplicate</string>
|
||||||
<string name="fatto">Done</string>
|
<string name="fatto">Done</string>
|
||||||
<string name="home">Home</string>
|
<string name="home">Home</string>
|
||||||
<string name="host">Host</string>
|
<string name="host">Host</string>
|
||||||
<string name="info">Info</string>
|
<string name="info">Info</string>
|
||||||
<string name="locale">Local</string>
|
<string name="locale">Local</string>
|
||||||
<string name="log_in">Logging in…</string>
|
<string name="log_in">Logging in…</string>
|
||||||
<string name="modifica">Edit</string>
|
<string name="modifica">Edit</string>
|
||||||
<string name="muovi">Move</string>
|
<string name="muovi">Move</string>
|
||||||
<string name="nascondi">Hide</string>
|
<string name="nascondi">Hide</string>
|
||||||
<string name="nome_app">Turbo Client</string>
|
<string name="nome_app">Turbo Client</string>
|
||||||
<string name="nome_app_turbo_editor">Turbo Editor</string>
|
<string name="nome_app_turbo_editor">Turbo Editor</string>
|
||||||
<string name="nome_utente">Username</string>
|
<string name="nome_utente">Username</string>
|
||||||
<string name="passiva">Passive</string>
|
<string name="passiva">Passive</string>
|
||||||
<string name="passphrase">Passphrase</string>
|
<string name="passphrase">Passphrase</string>
|
||||||
<string name="password">Password</string>
|
<string name="password">Password</string>
|
||||||
<string name="password_summary">Leave it empty to prompt for it every session</string>
|
<string name="password_summary">Leave it empty to prompt for it every session</string>
|
||||||
<string name="porta">Port</string>
|
<string name="porta">Port</string>
|
||||||
<string name="preferenze">Preferences</string>
|
<string name="preferenze">Preferences</string>
|
||||||
<string name="remoto">Remote</string>
|
<string name="remoto">Remote</string>
|
||||||
<string name="riavva_per_tema">To change the theme, restart the application</string>
|
<string name="riavva_per_tema">To change the theme, restart the application</string>
|
||||||
<string name="rinomina">Rename</string>
|
<string name="rinomina">Rename</string>
|
||||||
<string name="root">Default remote folder</string>
|
<string name="root">Default remote folder</string>
|
||||||
<string name="salva">Save</string>
|
<string name="salva">Save</string>
|
||||||
<string name="scuro">Dark</string>
|
<string name="scuro">Dark</string>
|
||||||
<string name="seleziona">Select</string>
|
<string name="seleziona">Select</string>
|
||||||
<string name="seleziona_account">Select an account</string>
|
<string name="seleziona_account">Select an account</string>
|
||||||
<string name="sicuro">Are you sure?</string>
|
<string name="sicuro">Are you sure?</string>
|
||||||
<string name="something_failed">Something failed</string>
|
<string name="something_failed">Something failed</string>
|
||||||
<string name="skip_same_file">Do not transfer same file</string>
|
<string name="skip_same_file">Do not transfer same file</string>
|
||||||
<string name="tema_app">App theme</string>
|
<string name="tema_app">App theme</string>
|
||||||
<string name="tipo_connessione">Connection type</string>
|
<string name="tipo_connessione">Connection type</string>
|
||||||
<string name="tipo_protocollo">Protocol type</string>
|
<string name="tipo_protocollo">Protocol type</string>
|
||||||
<string name="un_altra_cartella">Another folder</string>
|
<string name="un_altra_cartella">Another folder</string>
|
||||||
<string name="use_passphrase">Use a passphrase</string>
|
<string name="use_passphrase">Use a passphrase</string>
|
||||||
<string name="upload">Upload</string>
|
<string name="upload">Upload</string>
|
||||||
<string name="upload_completato">Upload completed</string>
|
<string name="upload_completato">Upload completed</string>
|
||||||
<string name="what_to_do">What do you want todo?</string>
|
<string name="what_to_do">What do you want todo?</string>
|
||||||
<string name="wrap_the_text">Word wrap</string>
|
<string name="wrap_the_text">Word wrap</string>
|
||||||
<string name="menu_syntax_highlight">Syntax highlight</string>
|
<string name="menu_syntax_highlight">Syntax highlight</string>
|
||||||
<string name="testo_indietro">Undo</string>
|
<string name="testo_indietro">Undo</string>
|
||||||
<string name="testo_rifai">Redo</string>
|
<string name="testo_rifai">Redo</string>
|
||||||
<string name="sync">Sync</string>
|
<string name="sync">Sync</string>
|
||||||
<string name="remote_folder_to_sync">Remote folder to sync</string>
|
<string name="remote_folder_to_sync">Remote folder to sync</string>
|
||||||
<string name="local_folder_to_sync">Local folder to sync</string>
|
<string name="local_folder_to_sync">Local folder to sync</string>
|
||||||
<string name="vota">Rate</string>
|
<string name="vota">Rate</string>
|
||||||
<string name="inapp_unavailable">Cannot contact Google Play</string>
|
<string name="inapp_unavailable">Cannot contact Google Play</string>
|
||||||
<string name="inapp_description">Support the development of other great features.</string>
|
<string name="inapp_description">Support the development of other great features.</string>
|
||||||
<string name="upgrade_premium">Upgrade to Premium</string>
|
<string name="upgrade_premium">Upgrade to Premium</string>
|
||||||
<string name="upgrade_premium_summary">Upgrade to Premium and support the development of Turbo Client!</string>
|
<string name="upgrade_premium_summary">Upgrade to Premium and support the development of Turbo Client!</string>
|
||||||
<string name="download_unlocked_version">Download unlocked version</string>
|
<string name="download_unlocked_version">Download unlocked version</string>
|
||||||
<string name="inapp_second_description">What is Turbo Client worth to you? Set your price! </string>
|
<string name="inapp_second_description">What is Turbo Client worth to you? Set your price!</string>
|
||||||
<string name="inapp_first_description">Upgrade to unlock this features:</string>
|
<string name="inapp_first_description">Upgrade to unlock this features:</string>
|
||||||
<string name="inapp_item_openandeditfiles">Power to open and modify any type of file.</string>
|
<string name="inapp_item_openandeditfiles">Power to open and modify any type of file.</string>
|
||||||
<string name="inapp_item_backup_service">Backup service to backup and restore your data safely. </string>
|
<string name="inapp_item_backup_service">Backup service to backup and restore your data safely.</string>
|
||||||
<string name="inapp_unlock_features">Unlock the Premium features</string>
|
<string name="inapp_unlock_features">Unlock the Premium features</string>
|
||||||
<string name="inapp_seconditem_description">I really like this app!</string>
|
<string name="inapp_seconditem_description">I really like this app!</string>
|
||||||
<string name="inapp_thirditem_description">I love this app!</string>
|
<string name="inapp_thirditem_description">I love this app!</string>
|
||||||
<string name="backup_accounts">Backup the accounts</string>
|
<string name="backup_accounts">Backup the accounts</string>
|
||||||
<string name="restore_accounts">Restore the accounts</string>
|
<string name="restore_accounts">Restore the accounts</string>
|
||||||
<string name="share_accounts">Backup and share the accounts</string>
|
<string name="share_accounts">Backup and share the accounts</string>
|
||||||
<string name="importing_accounts">Importing the accounts…</string>
|
<string name="importing_accounts">Importing the accounts…</string>
|
||||||
<string name="exporting_accounts">Exporting the accounts...</string>
|
<string name="exporting_accounts">Exporting the accounts...</string>
|
||||||
<string name="backup_not_found">No backups found</string>
|
<string name="backup_not_found">No backups found</string>
|
||||||
<string name="err_cant_open_the_file">Cannot open the file</string>
|
<string name="err_cant_open_the_file">Cannot open the file</string>
|
||||||
<string name="err_temp_folder_doesnt_exist">Temporary folder does not exist</string>
|
<string name="err_temp_folder_doesnt_exist">Temporary folder does not exist</string>
|
||||||
<string name="err_occured">An error occurred</string>
|
<string name="err_occured">An error occurred</string>
|
||||||
<string name="ui_ux">Ui</string>
|
<string name="ui_ux">Ui</string>
|
||||||
<string name="folder">Folder</string>
|
<string name="folder">Folder</string>
|
||||||
<string name="remove">Remove</string>
|
<string name="remove">Remove</string>
|
||||||
<string name="modification_date">Modification date</string>
|
<string name="modification_date">Modification date</string>
|
||||||
<string name="name">Name</string>
|
<string name="name">Name</string>
|
||||||
<string name="size">Size</string>
|
<string name="size">Size</string>
|
||||||
<string name="sort">Sort</string>
|
<string name="sort">Sort</string>
|
||||||
<string name="open">Open</string>
|
<string name="open">Open</string>
|
||||||
<string name="file_modified">The file %1$s was modified, do you want to upload it?</string>
|
<string name="file_modified">The file %1$s was modified, do you want to upload it?</string>
|
||||||
<string name="file_saved_with_success">The file %1$s was saved with success!</string>
|
<string name="file_saved_with_success">The file %1$s was saved with success!</string>
|
||||||
<string name="number_of_things_selected">%1$d selected</string>
|
<string name="number_of_things_selected">%1$d selected</string>
|
||||||
<string name="crea_file_remoto">New remote file</string>
|
<string name="crea_file_remoto">New remote file</string>
|
||||||
<string name="new_local_file">New local file</string>
|
<string name="new_local_file">New local file</string>
|
||||||
<string name="create_new_account">Create a new account</string>
|
<string name="create_new_account">Create a new account</string>
|
||||||
<string name="create_new_account_to_start">Create a new account to start.</string>
|
<string name="create_new_account_to_start">Create a new account to start.</string>
|
||||||
<string name="type">Type</string>
|
<string name="type">Type</string>
|
||||||
<string name="send_feedback">Send feedback</string>
|
<string name="send_feedback">Send feedback</string>
|
||||||
<string name="copy_url">Copy URL</string>
|
<string name="copy_url">Copy URL</string>
|
||||||
<string name="cut">Cut</string>
|
<string name="cut">Cut</string>
|
||||||
<string name="paste">paste</string>
|
<string name="paste">paste</string>
|
||||||
<string name="advanced">Advanced</string>
|
<string name="advanced">Advanced</string>
|
||||||
<string name="auto">Auto</string>
|
<string name="auto">Auto</string>
|
||||||
<string name="bytes">Bytes</string>
|
<string name="bytes">Bytes</string>
|
||||||
<string name="unit_measurement_for_file_size">Unit of measurement for file size</string>
|
<string name="unit_measurement_for_file_size">Unit of measurement for file size</string>
|
||||||
<string name="open_source_license">Open Source licenses</string>
|
<string name="open_source_license">Open Source licenses</string>
|
||||||
<string name="open_source_license_summary">Show open source licenses</string>
|
<string name="open_source_license_summary">Show open source licenses</string>
|
||||||
<string name="show_navigation_breadcrumb">Show navigation breadcrumb</string>
|
<string name="show_navigation_breadcrumb">Show navigation breadcrumb</string>
|
||||||
<string name="open_a_file">Open a file</string>
|
<string name="open_a_file">Open a file</string>
|
||||||
<string name="open_this_time_only">Open this time only</string>
|
<string name="open_this_time_only">Open this time only</string>
|
||||||
|
<string name="advise_editor_title">Are you missing Turbo Editor?</string>
|
||||||
|
<string name="advise_editor_subtitle">The best free and open source file editor!</string>
|
||||||
|
<string name="change_list_type">Change the list type</string>
|
||||||
|
<string name="use_monospace">Use monospace</string>
|
||||||
|
<string name="recent_files">Recent files</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,4 +1,4 @@
|
|||||||
#Thu Sep 26 13:46:28 CEST 2013
|
#Sun Oct 06 11:27:48 CEST 2013
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
Reference in New Issue
Block a user