Giter Club home page Giter Club logo

beos-bemobile's Introduction

BeMobile 0.9

(c) Maciej Witkowiak [email protected], [email protected] http://members.elysium.pl/ytm/html/beos.html http://ytm.bossstation.dnsalias.org/html/beos.html

BeMobile is a program to manage contacts and messages stored on your mobile phone. It has been developed for Motorola C550 and L6 models but should work with any phone that supports AT command set.

BeOS

The last version for BeOS was released on 2017-11-03 and is tagged as v0.9

SCREENSHOTS

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

COMPATIBILITY

BeMobile works only with phones that can be driven with AT commands. It has been developed and tested ONLY on Motorola C550 and L6. It has been reported to work with Motorolas: SLVR L7, RAZR V3, V220 and Nokia Vertu. It should also work with phones from other vendors, like Siemens, Ericsson and some Nokia phones.

To make a long story short - if SerialConnect can talk with your phone via infra-red link, RS232 or USB cable, then BeMobile should work too. In case of IR and RS232 you will have to find out correct parameteres of connection (speed, data bits, etc.).

Phone numbers from SMS and Call Register lists are matched against Phone Books, but you have to read (open the list) them first. Just 9 last digits are matched, without international prefixes madness (I send SMS without prefixes and receive them both with and without +48 so it is best to strip them all). Similarily, number picker in new SMS window is only filled with items from Phone Books that have been already visited.

CHANGES

version 0.9

  • ?

version 0.8

  • corrected calendar editing for some phones (like C550)
  • date validation and selector for birthday field
  • battery ok/critical icon on main status view (this should be redesigned...)

version 0.7

  • battery level should be displayed correctly for Motorola
  • new option: setting SMS centre number on main SMS view
  • better input validation in calendar events editor
  • export selected SMS slots to BeMail-like files into $HOME/mail/SMS/
  • minor corrections

version 0.6

  • new dialog to edit/enter calendar events
  • common ISO date format everywhere (YYYY/MM/DD)
  • export selected contacts from 'All contacts by name' to People files (best used with MrPeeps)
  • export selected contacts from 'All contacts by name' to vCard (VCF) files, probably needs more testing
  • new set of nice, clean BeOS-style icons (thank you, maui team & Ralf Schulke!)

version 0.5

  • fixed phonebook listing for v220 (and possibly some other models) broken in 0.4
  • new phonebook page with numbers grouped by name
  • phonebook summary displays number of unique entries (by name)
  • lists expand upon double-click

version 0.4

  • fixed some bugs (like handling hidden/empty numbers on call register)
  • dialog to edit/add new phonebook entries
  • support for device-dependent additional attributes (phone number type, address, city, nick, etc.)
  • phonebooks summary page
  • mark unread/unsent messages
  • calendar (datebook) viewer

version 0.3

  • initial window has menu with all possible serial configuration options, useful for real (COM) ports, meaningless for USB ACM devices; also with custom initalization string
  • you can dial and delete items from phone books

version 0.2

  • support for L6
  • some icons for device list
  • match phone numbers in SMS preview and Call Register with Phone Book to show names+numbers
  • store new SMS on phone, send SMS directly and from memory slots

OPTIONS

On the initial screen there is a number of settings that you can change. The menu has all available serial port options (important for COM cable, mostly meaningless for USB). You can also type custom initialization string. It should be something like ATZ - modem reset AT&F - restore factory settings or just AT (which does nothing). You can also choose if you want to see communications between the phone and your computer. It is very important for debugging.

On the phone status view there is summary of informations about the phone and a button:

  • Set date and time - to set date and time on the phone according to computer clock Menu items:
  • Monitor status - disable this when troubleshooting, it won't fill the log with uninteresting data about phone battery status, network signal strength etc.
  • Hangup - allows to break call initiated either from computer or phone

On phonebooks listings you can use buttons to manipulate items or double-click to edit. If editing returns error check your input - extra spaces, etc. Check also type of item (email, number, etc.) if extended attributes were detected. E.g. email must have '@' character and this is validated by the phone.

On my phones there seems no way to disable 'Primary number' flag.

Note that categories are represented as numbers. There is no easy way to fetch category names from the phone.

EXPORTING CONTACTS

On the "All contacts by name" page you can export selected contacts to vCard format. The data will be appended to your /boot/home/people/people.vcf file.

You can also select a contact and export it to People file. It will be saved under /boot/home/people/BeMobile/ to prevent any damage to your address book. Currently only Motorola phones extended attributes (nickname, birthday, address, etc.) are saved. Please use MrPeeps instead of People to browse People files because it handles more attributes (separate home/work address, more phone types, birthday). Categories from phone are saved as groups. Currently they are only numerical because there is no easy way to fetch category names from the phone.

EXPORTING MESSAGES

On the main SMS slots view you can select a slot and export all its contents to BeMail files. The data will be saved in your /boot/home/mail/SMS/ folder, each message in a separate file.

NOKIA

I expect that this will come often - NO, MOST LIKELY IT WILL NOT RUN WITH YOUR NOKIA (YET). As far as I know, most Nokia phones use something different than plain old modem AT commands. If you're really interested, you should port gnokii (http://www.gnokii.org) to BeOS, or convince someone to do it. Myself, I don't have a Nokia phone, so buy me one before asking about compatibility with Nokias :)

TROUBLESHOOTING

If the program doesn't work or interprets some data wrong or can't gather data at all, please send me full information about your phone, link type and (most important) communication log. The log is by default enabled and saved in your home directory as 'bemobile.log'. Please disable 'Monitor status' menu option and try all options that don't work as they should.

HELP/SUPPORT

Do you want to help? I'll be more than happy to receive any donations and reports (both success and failure). Do you want to donate? Please use http://www.moneybookers.com service and [email protected] (that is my not-often checked email address) as receiver. If you really care, I could cosider opening PayPal account too.

LICENSE

This code is licensed under permissive MIT License.

beos-bemobile's People

Contributors

arnavbhatt288 avatar ytmytm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

beos-bemobile's Issues

Compilation errors on Haiku

I got these problems while compiling BeMobile on Haiku -

On x86_gcc2:

In file included from /sources/beos-bemobile-fea6464ceb5b570f7a533e59b24a68f9fb093006/santa/ColumnListView/CLVEasyItem.cpp:28:
/sources/beos-bemobile-fea6464ceb5b570f7a533e59b24a68f9fb093006/santa/ColumnListView/CLVEasyItem.h:43: parse error before `*'
/sources/beos-bemobile-fea6464ceb5b570f7a533e59b24a68f9fb093006/santa/ColumnListView/CLVEasyItem.h:49: ANSI C++ forbids declaration `BBitmap' with no type
/sources/beos-bemobile-fea6464ceb5b570f7a533e59b24a68f9fb093006/santa/ColumnListView/CLVEasyItem.h:49: parse error before `*'
/sources/beos-bemobile-fea6464ceb5b570f7a533e59b24a68f9fb093006/santa/ColumnListView/CLVEasyItem.cpp: In method `CLVEasyItem::~CLVEasyItem()':
/sources/beos-bemobile-fea6464ceb5b570f7a533e59b24a68f9fb093006/santa/ColumnListView/CLVEasyItem.cpp:81: parse error before `)'
/sources/beos-bemobile-fea6464ceb5b570f7a533e59b24a68f9fb093006/santa/ColumnListView/CLVEasyItem.cpp:84: confused by earlier errors, bailing out
/boot/system/develop/etc/makefile-engine:291: recipe for target 'objects/CLVEasyItem.o' failed
make: *** [objects/CLVEasyItem.o] Error 1

On x86_64:

In file included from santa/ColumnListView/CLVEasyItem.cpp:28:0:
santa/ColumnListView/CLVEasyItem.h:43:57: error: 'BBitmap' does not name a type
   virtual void SetColumnContent(int column_index, const BBitmap *bitmap, float horizontal_offset = 2.0,
                                                         ^~~~~~~
santa/ColumnListView/CLVEasyItem.h:49:9: error: 'BBitmap' does not name a type
   const BBitmap* GetColumnContentBitmap(int column_index);
         ^~~~~~~
santa/ColumnListView/CLVEasyItem.cpp: In destructor 'virtual CLVEasyItem::~CLVEasyItem()':
santa/ColumnListView/CLVEasyItem.cpp:71:51: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
   int32 type = (int32)m_column_types.ItemAt(column);
                                                   ^
santa/ColumnListView/CLVEasyItem.cpp: In member function 'void CLVEasyItem::PrepListsForSet(int)':
santa/ColumnListView/CLVEasyItem.cpp:102:61: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
   int32 old_type = (int32)m_column_types.ItemAt(column_index);
                                                             ^
santa/ColumnListView/CLVEasyItem.cpp: At global scope:
santa/ColumnListView/CLVEasyItem.cpp:162:6: error: prototype for 'void CLVEasyItem::SetColumnContent(int, const BBitmap*, float, bool, bool)' does not match any in class 'CLVEasyItem'
 void CLVEasyItem::SetColumnContent(int column_index, const BBitmap *bitmap, float horizontal_offset, bool copy,
      ^~~~~~~~~~~
santa/ColumnListView/CLVEasyItem.cpp:127:6: error: candidates are: virtual void CLVEasyItem::SetColumnContent(int, const char*, bool, bool)
 void CLVEasyItem::SetColumnContent(int column_index, const char *text, bool truncate, bool right_justify)
      ^~~~~~~~~~~
In file included from santa/ColumnListView/CLVEasyItem.cpp:28:0:
santa/ColumnListView/CLVEasyItem.h:43:16: error:                 virtual void CLVEasyItem::SetColumnContent(int, const int*, float, bool, bool)
   virtual void SetColumnContent(int column_index, const BBitmap *bitmap, float horizontal_offset = 2.0,
                ^~~~~~~~~~~~~~~~
santa/ColumnListView/CLVEasyItem.cpp: In member function 'const char* CLVEasyItem::GetColumnContentText(int)':
santa/ColumnListView/CLVEasyItem.cpp:214:57: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
  int32 type = ((int32)m_column_types.ItemAt(column_index)) & CLVColTypesMask;
                                                         ^
santa/ColumnListView/CLVEasyItem.cpp: At global scope:
santa/ColumnListView/CLVEasyItem.cpp:223:68: error: no 'const BBitmap* CLVEasyItem::GetColumnContentBitmap(int)' member function declared in class 'CLVEasyItem'
 const BBitmap* CLVEasyItem::GetColumnContentBitmap(int column_index)
                                                                    ^
santa/ColumnListView/CLVEasyItem.cpp: In member function 'virtual void CLVEasyItem::DrawItemColumn(BView*, BRect, int32, bool)':
santa/ColumnListView/CLVEasyItem.cpp:250:56: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
  int32 type = (int32)m_column_types.ItemAt(column_index);
                                                        ^
santa/ColumnListView/CLVEasyItem.cpp:322:77: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
   float horizontal_offset = (float)((int32)m_aux_content.ItemAt(column_index));
                                                                             ^
santa/ColumnListView/CLVEasyItem.cpp: In static member function 'static int CLVEasyItem::CompareItems(const CLVListItem*, const CLVListItem*, int32)':
santa/ColumnListView/CLVEasyItem.cpp:363:62: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
  int32 type1 = ((int32)Item1->m_column_types.ItemAt(KeyColumn)) & CLVColTypesMask;
                                                              ^
santa/ColumnListView/CLVEasyItem.cpp:364:62: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
  int32 type2 = ((int32)Item2->m_column_types.ItemAt(KeyColumn)) & CLVColTypesMask;
                                                              ^
santa/ColumnListView/CLVEasyItem.cpp: In member function 'virtual void CLVEasyItem::ColumnWidthChanged(int32, float, ColumnListView*)':
santa/ColumnListView/CLVEasyItem.cpp:444:56: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
  int32 type = (int32)m_column_types.ItemAt(column_index);
                                                        ^
santa/ColumnListView/CLVEasyItem.cpp: In member function 'virtual void CLVEasyItem::FrameChanged(int32, BRect, ColumnListView*)':
santa/ColumnListView/CLVEasyItem.cpp:506:57: error: cast from 'void*' to 'int32 {aka int}' loses precision [-fpermissive]
  int32 type = ((int32)m_column_types.ItemAt(column_index)) & CLVColTypesMask;
                                                         ^
/boot/system/develop/etc/makefile-engine:291: recipe for target 'objects/CLVEasyItem.o' failed
make: *** [objects/CLVEasyItem.o] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.